Interacting with Databases
through the Java Persistence
The Java Persistence API ( JPA ) is an Object Relational Mapping API. Object
Relational Mapping tools help us automate mapping Java objects to relational
database tables. Earlier versions of J2EE used Entity Beans as the standard approach
for Object Relational Mapping. Entity Beans attempted to keep the data in memory
always synchronized with database data, a good idea in theory, however, in practice
this feature resulted in poorly performing applications.
Several Object Relational Mapping APIs were developed to overcome the limitations
of Entity Beans, such as Hibernate, iBatis, Cayenne, and Toplink among others.
With Java EE 5, Entity Beans were deprecated in favor of JPA. JPA took ideas from
several object relational mapping tools and incorporated them into the standard. As
we will see in this chapter NetBeans has several features that make development
with JPA a breeze.
The following topics will be covered in this chapter:
• Creating our irst JPA entity
• Interacting with JPA entities with EntityManager
• Generating forms in JSF pages from JPA entities
• Generating JPA entities from an existing database schema
• JPA named queries and JPQL
• Entity relationships
• Generating complete JSF applications from JPA entities