Eclipse JPA


    Gordon Yorke
    EclipseLink Architecture Committee Member,
    TopLink Core Technical Lead,
    JPA 2.0...
What you will learn
• Eclipse Persistence Services Project (EclipseLink)
    Components
• Focus on EclipseLink JPA
    J...
Eclipse Persistence Services
• Eclipse runtime project
    Nicknamed “EclipseLink”
    Latest version 1.0.2
• Comprehens...
Tidbits
• First comprehensive open source persistence solution
• Based upon product with 12 years of commercial
  usage
• ...
EclipseLink JPA
• JPA 1.0 compliant implementation
• JPA 2.0 in development for RI
• Keep up to date at:
    http://wiki....
EclipseLink JPA Extensions
• Weaving
   Lazy loading @Basic, @OneToOne, @ManyToOne
   Performance options like change tr...
Extensions - Locking
• Data Locking policies
    Optimistic: Numeric, Timestamp, All fields, Selected fields,
     Change...
Extensions - Entity Caching
• Entity caching
    L2 shared across transactions/users
    Coordination in a clustered dep...
Performance and Tuning
• Highly configurable and tunable
    Principle: minimize and optimize database calls
    Enable ...
More Information
• www.eclipse.org/eclipselink
• Newsgroup: eclipse.technology.eclipselink
• Wiki: wiki.eclipse.org/Eclips...
Upcoming SlideShare
Loading in...5
×

EclipseLink JPA

6,921

Published on

An overview of the EclipseLink JPA

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

No Downloads
Views
Total Views
6,921
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
184
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Transcript of "EclipseLink JPA"

  1. 1. Eclipse JPA Gordon Yorke EclipseLink Architecture Committee Member, TopLink Core Technical Lead, JPA 2.0 Expert Group Member gordon.yorke@oracle.com
  2. 2. What you will learn • Eclipse Persistence Services Project (EclipseLink)  Components • Focus on EclipseLink JPA  JPA 2.0 RI status  EclipseLink Extensions
  3. 3. Eclipse Persistence Services • Eclipse runtime project  Nicknamed “EclipseLink”  Latest version 1.0.2 • Comprehensive  EclipseLink JPA: Object-Relational  EclipseLink MOXy: Object-XML  EclipseLink SDO: Service Data Objects  EclipseLink DBWS: Database Web Services  EclipseLink EIS: Non-Relational using JCA
  4. 4. Tidbits • First comprehensive open source persistence solution • Based upon product with 12 years of commercial usage • Same code base that was used to create TopLink Essentials • Highly optimizable through precise configurations • Great performance
  5. 5. EclipseLink JPA • JPA 1.0 compliant implementation • JPA 2.0 in development for RI • Keep up to date at:  http://wiki.eclipse.org/EclipseLink/Development/JPA_2.0 • Any JDBC/SQL compliant database  Database specific support for Oracle, MySQL, Derby, SQLServer, PostgreSQL et al. • Extensible and pluggable • plus many valuable advanced features  Caching, locking …
  6. 6. EclipseLink JPA Extensions • Weaving  Lazy loading @Basic, @OneToOne, @ManyToOne  Performance options like change tracking • Mapping  @PrivateOwned, @JoinFetch  @Converter, @TypeConverter, @ObjectTypeConverter • @NamedStoredProcedureQuery  IN/OUT/INOUT parameters, multiple cursor results • Extensions supported through annotations and XML • Query hints  refreshing, locking, parameter binding …
  7. 7. Extensions - Locking • Data Locking policies  Optimistic: Numeric, Timestamp, All fields, Selected fields, Changed field  Pessimistic
  8. 8. Extensions - Entity Caching • Entity caching  L2 shared across transactions/users  Coordination in a clustered deployment  Can support 3rd party distributed cache. • Application specific configuration  Caching: per Entity or per Persistence Unit  eclipselink.cache.shared(default|<entity>)  Cache Type and Size: Weak, Soft-Weak, Full  eclipselink.cache.type(default|<entity>)  Expiration/Invalidation  Time to live, Time of day, API  Coordination (cluster-messaging)  Messaging: JMS, RMI, RMI-IIOP, …  Mode: SYNC, SYNC+NEW, INVALIDATE, NONE
  9. 9. Performance and Tuning • Highly configurable and tunable  Principle: minimize and optimize database calls  Enable application specific tuning • Flexibility allows efficient business models and relational schemas to be used • Leverages underlying performance tuning features  Java, JDBC and the underlying database technology  Batch Reading, Batch Writing, Joined Reading, etc…
  10. 10. More Information • www.eclipse.org/eclipselink • Newsgroup: eclipse.technology.eclipselink • Wiki: wiki.eclipse.org/EclipseLink • Mailing Lists:  eclipselink-dev@eclipse.org  eclipselink-users@eclipse.org • Blogs  Committer Team blog: eclipselink.blogspot.com
  1. A particular slide catching your eye?

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

×