Welcome to JavaPolis 2007!
Overall Presentation Goal
Speaker's Qualifications
Agenda
Background
Java Persistence 2.0
JSR Proposed Functionality
Please Remember
Agenda
More Flexible Modeling and Mapping
Collections of Basic Types
Collections of Basic Types
Relational Mapping
Customizing Mapping
Relational Mapping
Collections of Embeddable Types
Collections of Embeddable Types
Relational Mapping
Customizing Mapping
Relational Mapping
Customizing Mapping
Relational Mapping
Customizing Mapping
Relational Mapping
Customizing Mapping
Relational Mapping
Multiple Levels of Embeddables
Multiple Levels of Embeddables
Relational Mapping
Embeddables and Relationships
Embeddables and Relationships
Relational Mapping
Embeddables and Relationships
Embeddables and Relationships
Relational Mapping
Embeddables and Relationships
Relational Mapping
Embeddables with Relationships in Collections
Embeddables with Relationships in Collections
Relational Mapping
Embeddables with Relationships in Collections
Relational Mapping
Embeddables with Relationships in Collections
Relational Mapping Does Not Work!
Embeddables with Relationships in Collections
Ordered Lists
@OrderBy
Ordered Lists
@OrderColumn
@OrderColumn
Maps
Maps
Maps
Maps
Maps
Maps
Relational Mapping
Maps
Relational Mapping
Expanded Relationship Mappings
Unidirectional One-to-Many (Defaulted Mapping)
Using Join Table Mapping (Default Mapping)
Unidirectional One-to-Many (Foreign Key Mapping)
Using Foreign Key Mapping
Access Type
Access Type Improvements
Example
Example
Example
Currently Under Discussion
Please Remember
Agenda
Java Persistence Query Language
Examples: SELECT clause
Example: Restricted Polymorphism
Dynamic Queries
Criteria Queries
Criteria Queries
Agenda
Standardized Hints and Properties
Agenda
Unfetched State
Example: Detached Access
Example: continued
Container-managed extended persistence contexts
Agenda
Validation
Examples: Validation
Agenda
Summary and Roadmap
One of the key outcomes of Java EE 5 / EJB 3.0 was the introduction of the Java Persistence API. JPA is a new standard API for Java persistence and object/relational mapping that supports use in both Java EE and Java SE environments.
The purpose of Java Persistence 2.0 is to augment the Java Persistence API to include further features requested by the community.
This session will give you an up-to-the-minute glimpse into work in progress on Java Persistence 2.0, and will provide you with an opportunity for feedback on new directions.
Aspects to be discussed include the following:
Expanded modeling capabilities and object/relational mapping functionality, including support for collections of embedded objects, ordered lists, combinations of access types, greater flexibility in combining existing mapping options, etc.
Expanded query capabilities and additions to the Java Persistence query language
Standardization of additional contracts for entity detachment and merge, and persistence context management
Standardization of sets of "hints" for entity manager and query configuration
Expanded pluggability contracts for Java EE environments
Support for validation
Linda DeMichiel is a senior architect in the Java EE Platform group at Sun Microsystems and the chief architect for Enterprise JavaBeans 3.0 and the Java Persistence API. As the Specification Lead for JSR-220, she was responsible for launching and leading the initiatives for Enterprise JavaBeans 3.0 and the Java Persistence API under the Java Community Process.
She has over 20 years of experience in the areas of databases, object persistence, distributed computing, and OO in both industry and research. Before assuming responsibility for EJB, she led the team that implemented Sun's first object/relational persistence product, and worked earlier at IBM on object/relational extensions to both DB2 and the SQL99 standard. She holds a Ph.D. in Computer Science from Stanford University.