Java Persistence 2.0

  • 3,230 views
Uploaded on

An overview of Java Persistence 2.0, from the Expert Group Lead

An overview of Java Persistence 2.0, from the Expert Group Lead

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
3,230
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
188
Comments
0
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Java Persistence 2.0 Linda DeMichiel Java Persistence 2.0 Specification Lead Sun Microsystems
  • 2. Java Persistence 1.0 • Standardized O/R Mapping for Java EE and Java SE environments • A great start ..... 2
  • 3. Java Persistence 2.0 • Expanded O/R mapping functionality • Expanded query language to match • Criteria API • Pessimistic locking • Standardized hints and properties • Support for validation • And...some needed cleanups... 3
  • 4. Progress to Date: Early Draft • Expanded O/R mapping and modeling > Collections of basic types and embeddables > Relationships from embeddables > Multiple levels of embeddables > Persistent lists > Real maps and ternary relationships > Additional database schema mappings – one-to-many foreign key mappings for unidirectional relationships – one-to-one, many-to-one join table mappings > Real overlapping PK/FK modeling support – “derived identities” > Combinations of access types > Orphan deletion 4
  • 5. Progress to Date: Early Draft • Pessimistic locking > At both entity and query result levels • Standardized hints and properties > For locking > For configuration • Simple API for interaction with provider's cache 5
  • 6. Progress to Date: Public Review Draft • Java Persistence Query Language > Extensions for new mapping types > Support for non-polymorphic queries > Scalar expressions in SELECT list > Case statements > INDEX, KEY, VALUE, ENTRY operators for maps and lists > Collection-valued parameters for IN expressions > More flexibility in subqueries > ... 6
  • 7. Progress to Date: Public Review Draft • Criteria API > Dynamic, non-string-based API > Supports everything that JPQL queries can do > Integrates with existing Query API – Create query definitions – Pass them to createQuery to create Query objects 7
  • 8. Example: Criteria API ... QueryBuilder qb = EntityManager.getQueryBuilder(); DomainObject customer = qb.createQueryDefinition(Customer.class); DomainObject order = customer.join(“orders”); DomainObject address = customer.join(“address”); customer.where(address.get(“state”).equal(“CA”)) .select(order) .orderBy(order.get(“quantity”).desc(), order.get(“totalcost”)); 8
  • 9. Status and Roadmap • Public Review Draft > Submitted to JCP last week > Expected to appear in 1 - 2 weeks > http://jcp.org/en/jsr/detail?id=317 • Proposed Final Draft in December > Will target support for Validation (JSR 303) • Final Release in June > As part of Java EE 6 and as standalone Your feedback is important! > jsr-317-pdr-feedback@sun.com 9
  • 10. GlassFish and Java Persistence • Java Persistence 1.0 in GlassFish v3 Prelude today > EclipseLink 1.0 > Hibernate EntityManager > OpenJPA • Java Persistence 2.0 RI will be provided by EclipseLink project > Will be available in GlassFish v3 10
  • 11. Java Persistence 2.0 Linda DeMichiel Sun Microsystems