Architecture Within Application JVM
JDO supports a variety of architectures within the application’s
JVM context. Your application can have one or multiple PersistenceManager
s accessing the same or
different datastores concurrently. Each PersistenceManager
has its own persistent
instance cache and its own associated Transaction
instance, which manages a distinct
transactional context. A JDO implementation may also maintain a shared
cache of instances (not visible to applications) to optimize the
application’s access of data in the datastore.
Single PersistenceManager
The simplest JDO application architecture has a single PersistenceManager
, as illustrated in Figure 3-1. A PersistenceManager
is the primary interface
used by the application to access persistent services. It is an
interface that is implemented by an instance of the JDO
implementation. The persistent instances are managed in a
cache, where they are used directly by the
application. The JDO implementation manages the persistent instances
both by using application control (e.g., using PersistenceManager
and Query
methods), and transparently (when the
application accesses a field that is not loaded). The cache contains
other artifacts, used to track the identity and
state of the instances, but these artifacts are not visible to the
application. Whenever we mention the cache, we
are referring to the cache of persistent instances.
Figure 3-1. Application using a single PersistenceManager to access a datastore
The application ...
Get Java Data Objects now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.