Task overview: Storing and retrieving persistent data with the JPA API
The Java Persistence API (JPA) for the application server defines the management of persistence and object and relational mapping within Java Enterprise Edition (Java EE) and Java Standard Edition (Java SE) environments.
JPA represents a simplification of the persistence programming model. JPA functions within the Java EE specification for Enterprise JavaBeans (EJB) 3.0 and later requirements, managing persistence and object and relational mapping. The JPA specification defines the object/relational mapping within its own guidelines instead of relying on vendor-specific mapping implementations. These features make applications that use JPA easier to implement and manage.
JPA combines the best features from previous persistence mechanisms such as JDBC APIs, Object Relational Mapping (ORM) frameworks, and Java Data Objects (JDO). Creating entities under JPA is as simple as Plain Old Java Objects (POJOs). JPA supports the features provided by JDBC without requiring the knowledge of the specific programming models defined by the various JDBC implementations. Like object-relational software and object databases, JPA supports the use of advanced object-oriented concepts such as inheritance. JPA avoids vendor lock-in because it does not rely on a strict specification like JDO and EJB 2.x entities.
The JPA implementation does not mandate that you migrate existing applications. Existing EJB 2.x Container Managed Persistence applications continue to work without changes. JPA might not be ideal for every application, however, for many applications it provides a better alternative to other persistence implementations.
For detailed information about JPA, read the following topics:
- Learn about persistence and JPA.
- Learn about the differences in Apache OpenJPA and JPA for WebSphere Application Server.
- Find information about developing JPA applications for a Java EE environment or developing JPA applications for a Java SE environment.
- Find information about packaging JPA applications for a Java EE environment or packaging JPA applications for a Java SE environment.
- Configure persistence providers.
- Administer applications that use JPA.
- Monitor the applications by logging the application behavior with JPA for WebSphere Application Server.
- Troubleshoot JPA problems.
- Learn about JPA access intent.
What to do next
JPA for WAS can be used on all platforms that are supported for the application server, including iSeries and z/OS . JPA for WebSphere Application Server supports all databases supported for the application server, including DB2 and Oracle. JPA for WebSphere Application Server also functions with databases that are supported by the OpenJPA implementation of JPA
Important: Databases supported by OpenJPA, but not supported by the WAS, have not been tested extensively by IBM , and might contain unknown compatibility issues. For a list of OpenJPA supported databases, refer to the Apache OpenJPA User Guide
For additional information about OpenJPA, see the Apache OpenJPA User Guide. For information about JPA specifications, see the related links. The information resides on both IBM and non-IBM Internet sites, whose sponsors control the technical accuracy of the information. Often, the information is not specific to this product but is useful all or in part for understanding the product. When possible, links are provided to technical papers and Redbooks that supplement the broad coverage of the release documentation with in-depth examinations of particular product areas.
Subtopics
- (zos)(dist) Learn about persistence and JPA.
- (zos)(dist) Learn about the differences in Apache OpenJPA and JPA for WebSphere Application Server.
- (zos)(dist) Find information about developing JPA applications for a Java EE environment or developing JPA applications for a Java SE environment.
- (zos)(dist) Find information about packaging JPA applications for a Java EE environment or packaging JPA applications for a Java SE environment.
- (zos)(dist) Configure persistence providers.
- (zos)(dist) Administer applications that use JPA.
- (zos)(dist) Monitor the applications by logging the application behavior with JPA for WebSphere Application Server.
- (zos)(dist) Troubleshoot JPA problems.
- (zos)(dist) Learn about JPA access intent.
Related concepts
Java Persistence API (JPA) architecture JPA for WebSphere Application Server Database generated version ID with JPA
Related tasks
SQL statement batching for JPA applications Mapping persistent properties to XML columns for JPA Configure persistence provider support in the application server Associate persistence providers and data sources Configure OpenJPA caching to improve performance Troubleshooting JPA applications Use JPA access intent Logging applications with JPA Develop JPA 2.x applications for a Java EE environment Develop JPA 2.x applications for a Java SE environment Configure JPA to work in the environment Assembling a JPA application in a Java EE environment Assembling JPA applications for a Java SE environment
Data source minimum required settings, by vendor
Related information:
Apache OpenJPA User Guide
JSR 317: Java Persistence 2.0
Get Started with the Feature Pack for OSGi Applications and JPA 2.0 Redbooks