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
Compound, Derived identity
Persistent Domain Model API
The sample application shows essential build and packaging steps for both
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.