Transient-Transactional Instances
You can cause transient instances to observe transaction
boundaries, such that their state is preserved at commit and restored on
rollback. A transient instance that observes transaction boundaries is
called a transient-transactional instance
. Support for transient-transactional instances is
optional; their use requires support of the optional TransientTransactional
feature. If your implementation does not support TransientTransactional
, it will not include
the functionality that causes the state transitions associated with
transient-transactional instances.
You can use the following PersistenceManager
methods to make transient
instances transactional:
void makeTransactional(Object obj); void makeTransactionalAll(Object[] objs); void makeTransactionalAll(Collection objs);
After these methods complete, the instances observe transaction
boundaries. If the transaction commits, the transient-transactional
instances retain their values. The makeTransactional( )
method throws a JDOUnsupportedOptionException
if you pass a transient instance as a parameter and the
implementation does not support the optional TransientTransactional
feature.
If the call to makeTransactional(
)
is made within the current transaction and the transaction
is rolled back, the fields of the transient-transactional instances are
restored to the values they had when makeTransactional( )
was called, using their captured before image (discussed in Chapter 14). If the call to makeTransactional( ...
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.