One of the major accomplishments of the Java EE 5 platform, released in May 2006, was the introduction of the Java Persistence API (JPA), a standardized lightweight POJO persistence API for enterprise Java. The new standard is fully integrated with the Java EE container, resulting in a more holistic application development experience. Many of the development techniques that apply to programming with Java EE can also be used with JPA.

Counted amongst its many strengths is the fact that it is a fully-featured persistence framework that proffers a runtime library that is intuitive and concise. It is not only powerful, but with a grand total of four classes in the API, it is comprehensible. In addition, it is completely flexible in its configuration. Persistence mapping metadata may be supplied during development using annotations, at deployment using XML, or a combination of the two depending upon the requirements of the application. But with all of the enterprise integration of the API, perhaps the most flexible part is that it can also be executed and tested outside the Java EE Container in a standalone application.

The talk will cover the important features of the Java Persistence API, including the EntityManager API, persistence units and persistence contexts, detached objects, object-relational mapping, and queries. We will also discuss running a JPA application outside the container, and show examples of running unit tests on persistent entities.

The presentation is here. .