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

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

EclipseLink JPA

6,836
views

Published on

An overview of the EclipseLink JPA

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,836
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
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