Java Persistence 2.0
Linda DeMichiel
Java Persistence 2.0 Specification Lead
Sun Microsystems
Java Persistence 1.0
• Standardized O/R Mapping for Java EE and Java
  SE environments
• A great start .....




         ...
Java Persistence 2.0
•   Expanded O/R mapping functionality
•   Expanded query language to match
•   Criteria API
•   Pess...
Progress to Date: Early Draft
• Expanded O/R mapping and modeling
  >   Collections of basic types and embeddables
  >   R...
Progress to Date: Early Draft
• Pessimistic locking
  > At both entity and query result levels
• Standardized hints and pr...
Progress to Date: Public Review Draft
• Java Persistence Query Language
  > Extensions for new mapping types
  > Support f...
Progress to Date: Public Review Draft
• Criteria API
  > Dynamic, non-string-based API
  > Supports everything that JPQL q...
Example: Criteria API
...
QueryBuilder qb =
    EntityManager.getQueryBuilder();
DomainObject customer =
    qb.createQuer...
Status and Roadmap
• Public Review Draft
  > Submitted to JCP last week
  > Expected to appear in 1 - 2 weeks
  > http://j...
GlassFish and Java Persistence
• Java Persistence 1.0 in GlassFish v3 Prelude today
  > EclipseLink 1.0
  > Hibernate Enti...
Java Persistence 2.0
Linda DeMichiel
Sun Microsystems
Upcoming SlideShare
Loading in...5
×

Java Persistence 2.0

3,285

Published on

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

Published in: Technology, News & Politics
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,285
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
189
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Java Persistence 2.0

  1. 1. Java Persistence 2.0 Linda DeMichiel Java Persistence 2.0 Specification Lead Sun Microsystems
  2. 2. Java Persistence 1.0 • Standardized O/R Mapping for Java EE and Java SE environments • A great start ..... 2
  3. 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. 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. 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. 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. 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. 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. 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. 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. 11. Java Persistence 2.0 Linda DeMichiel Sun Microsystems
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×