Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
45 views

Java Persistence API (JPA) : A Brief Overview

The document provides an overview of the Java Persistence API (JPA). It discusses the history of Java application persistence including JDBC and EJB entity beans. It describes how proprietary persistence products like Hibernate and TopLink were introduced to meet industry needs before JPA became a standard. JPA was created as part of the EJB 3.0 specification to provide a standard interface that could be implemented by different vendors while allowing developers to code to the interface rather than a specific implementation. The document outlines several key aspects of JPA including its use of Plain Old Java Objects (POJOs), metadata-driven mapping, query language, detached entities, and simple configuration options. It also describes entities, the entity manager interface

Uploaded by

dramesh
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
45 views

Java Persistence API (JPA) : A Brief Overview

The document provides an overview of the Java Persistence API (JPA). It discusses the history of Java application persistence including JDBC and EJB entity beans. It describes how proprietary persistence products like Hibernate and TopLink were introduced to meet industry needs before JPA became a standard. JPA was created as part of the EJB 3.0 specification to provide a standard interface that could be implemented by different vendors while allowing developers to code to the interface rather than a specific implementation. The document outlines several key aspects of JPA including its use of Plain Old Java Objects (POJOs), metadata-driven mapping, query language, detached entities, and simple configuration options. It also describes entities, the entity manager interface

Uploaded by

dramesh
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 28

Java Persistence API (JPA)

A Brief Overview

By Scott Rabon
We have come a long way
• Java
application
persistence
history
– JDBC
– EJB Entity
Beans

1
Industry answered the call
• Proprietary
persistence products
were introduced

– JBoss Hibernate

– Oracle Top Link

2
Why Another Standard
• Standard goes
deeper than a product

• Can be implemented
by different vendors

• Developers code to
interface, not
implementation

3
A Standard Is Born
JSR 220 – EJB 3.0
Specification

Java Persistence
API part of EJB 3.0
Specification

4
JPA Fun Facts
• JSR 220 formed May
2003

• Released May 2006

• Expert group
consisted of industry
ORM developers

5
JPA – Designed for Ease of Use
• Main goal of design
team

• Elegant, powerful and


flexible

• Easy to learn

6
Aspects: POJO Persistence
• Objects are POJO’s

• Mapping is metadata
driven

• External XML or
annotation based

7
Aspects: Non Intrusiveness
• API does not intrude
on objects

• API exists as a
separate layer from
persistent objects

• Objects are
“unaware” of the API

8
Aspects: Object Queries
• Query across entities
and relationships

• Expressed in Java
Persistence Query
Language (JPQL)

• Uses a schema
abstraction

9
Aspects: Mobile Entities
• Detachment Model
• Move entities
between JVM’s
• Can change state
anywhere along the
way
• Reattach upon return

10
Aspects: Simple Configuration
• Java SE 5
Annotations

• XML

• Heavy use of defaults

11
Aspects: Integration and Testability
• Challenge: Testing on
an app server

• API works outside


application server
– Two tier apps
– Unit tests and
automated testing
frameworks

12
Entities

Not same as entity


beans

13
Entity Characteristics -
Persistability
• Entities must be persistable

• State can be represented in


a data store

• Entities can be manipulated


without having persistent
repercussions – app must
use API

14
Entity Characteristics - Identity
• Key that uniquely
identifies an instance

• Persistent identity

• Equivalent to primary
key

15
Entity Characteristics -
Transactionality
• Adds, updates and
deletes normally
occur in a transaction

• Changes succeed or
fail atomically

• In memory entities

16
Entity Characteristics - Granularity
• Not primitives,
wrappers, built-in
objects
• Are business domain
objects that mean
something
• Should be fairly
lightweight objects

17
Entity Manager
• Interface encapsulating
most persistence
functionality

• Set of managed
instances is named
persistence context

18
Queries
• Use JPQL syntax

• Can be defined
statically (named) or
dynamically

• Dynamic queries
supply query criteria

19
JPA’s future - Independence
• Break free from the
EJB specification

• Will get it’s own JSR


for future evolution

20
The End

5 minutes of question time


starts now!
Questions

4 minutes left!
Questions

3 minutes left!
Questions

2 minutes left!
Questions

1 minute left!
Questions

30 seconds left!
Questions

TIME IS UP!

You might also like