Title: OpenBooks - Featuring JPA 2.0
OpenBooks is a sample (and perhaps, simple) application featuring some of
the new features in JPA 2.0.
This demonstration features usage of new JPA 2.0 features such as
* Criteria Query
* Compound, Derived identity
* Orphan Delete
* Persistent Domain Model API
The sample application shows essential build and packaging steps for both
as
* a Swing-based JSE application and
* a typical Web Application Archive (*.war) ready to be deployed in a
Java Enterprise container.
OpenBooks demonstrates few useful practices in domain modeling such as
composite persistent relations,
isolating immutable state for better cache utilization, immutable
relationship etc. Architecturally,
OpenBooks uses a design pattern to enable the same persistence service be
used inside and outside
a managed environment. Such patterns vastly speeds up develop-test-debug
cycle for persistence and
object-relation mapping functionality outside a container.
## Availability
The source code and build script for OpenBooks is available in OpenJPA
SubVersion repository under *openjpa-examples/openbooks*
To access the source code
$ svn co https://svn.apache.org/repos/asf/openjpa/trunk/openjpa-examples/openbooks
## Building
* Follow the [instruction](building-and-running-openbooks.html)
to build and run OpenBooks.
These instructions can also be found also in `index.html` at the `OpenBooks` root directory.
Here are few screen shots of OpenBooks running as a Swing Application.
### Selecting and Purchasing Books
![OpenBooks.ScreenShot1.JPG](images/OpenBooks.ScreenShot1.JPG)
### Persistent Domain Model (as a Powerpoint Slide)
![OpenBooks.ScreenShot2.JPG](images/OpenBooks.ScreenShot2.JPG)
### Browsing the same domain model via Metamodel API
![OpenBooks.ScreenShot3.JPG](images/OpenBooks.ScreenShot3.JPG)