Download - EclipseLink JPA
![Page 1: EclipseLink JPA](https://reader038.vdocuments.us/reader038/viewer/2022100600/555a76f3d8b42a972b8b5378/html5/thumbnails/1.jpg)
Eclipse JPA
Gordon YorkeEclipseLink Architecture Committee Member,TopLink Core Technical Lead,JPA 2.0 Expert Group [email protected]
![Page 2: EclipseLink JPA](https://reader038.vdocuments.us/reader038/viewer/2022100600/555a76f3d8b42a972b8b5378/html5/thumbnails/2.jpg)
What you will learn
• Eclipse Persistence Services Project (EclipseLink) Components
• Focus on EclipseLink JPA JPA 2.0 RI status EclipseLink Extensions
![Page 3: EclipseLink JPA](https://reader038.vdocuments.us/reader038/viewer/2022100600/555a76f3d8b42a972b8b5378/html5/thumbnails/3.jpg)
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
![Page 4: EclipseLink JPA](https://reader038.vdocuments.us/reader038/viewer/2022100600/555a76f3d8b42a972b8b5378/html5/thumbnails/4.jpg)
• 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
Tidbits
![Page 5: EclipseLink JPA](https://reader038.vdocuments.us/reader038/viewer/2022100600/555a76f3d8b42a972b8b5378/html5/thumbnails/5.jpg)
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 …
![Page 6: EclipseLink JPA](https://reader038.vdocuments.us/reader038/viewer/2022100600/555a76f3d8b42a972b8b5378/html5/thumbnails/6.jpg)
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 …
![Page 7: EclipseLink JPA](https://reader038.vdocuments.us/reader038/viewer/2022100600/555a76f3d8b42a972b8b5378/html5/thumbnails/7.jpg)
Extensions - Locking
• Data Locking policies Optimistic: Numeric, Timestamp, All fields, Selected fields,
Changed field Pessimistic
![Page 8: EclipseLink JPA](https://reader038.vdocuments.us/reader038/viewer/2022100600/555a76f3d8b42a972b8b5378/html5/thumbnails/8.jpg)
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
![Page 9: EclipseLink JPA](https://reader038.vdocuments.us/reader038/viewer/2022100600/555a76f3d8b42a972b8b5378/html5/thumbnails/9.jpg)
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…
![Page 10: EclipseLink JPA](https://reader038.vdocuments.us/reader038/viewer/2022100600/555a76f3d8b42a972b8b5378/html5/thumbnails/10.jpg)
More Information
• www.eclipse.org/eclipselink• Newsgroup: eclipse.technology.eclipselink• Wiki: wiki.eclipse.org/EclipseLink• Mailing Lists:
[email protected] [email protected]
• Blogs Committer Team blog: eclipselink.blogspot.com