Your SlideShare is downloading. ×
  • Like
EclipseLink JPA
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

EclipseLink JPA

  • 6,806 views
Published

An overview of the EclipseLink JPA

An overview of the EclipseLink JPA

Published in Technology
  • 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
6,806
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
183
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. Eclipse JPA Gordon Yorke EclipseLink Architecture Committee Member, TopLink Core Technical Lead, JPA 2.0 Expert Group Member gordon.yorke@oracle.com
  • 2. What you will learn • Eclipse Persistence Services Project (EclipseLink)  Components • Focus on EclipseLink JPA  JPA 2.0 RI status  EclipseLink Extensions
  • 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. 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. 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. 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. Extensions - Locking • Data Locking policies  Optimistic: Numeric, Timestamp, All fields, Selected fields, Changed field  Pessimistic
  • 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. 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. 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