java.lang.Object | |
↳ | org.springframework.orm.jdo.PersistenceManagerFactoryUtils |
Helper class featuring methods for JDO PersistenceManager handling, allowing for reuse of PersistenceManager instances within transactions. Also provides support for exception translation.
Used internally by JdoTemplate
, JdoInterceptor
and
JdoTransactionManager
. Can also be used directly in application code.
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
int | PERSISTENCE_MANAGER_SYNCHRONIZATION_ORDER | Order value for TransactionSynchronization objects that clean up JDO PersistenceManagers. |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Apply the current transaction timeout, if any, to the given JDO Query object.
| |||||||||||
Convert the given JDOException to an appropriate exception from the
org.springframework.dao hierarchy. | |||||||||||
Obtain a JDO PersistenceManager via the given factory.
| |||||||||||
Actually release a PersistenceManager for the given factory.
| |||||||||||
Obtain a JDO PersistenceManager via the given factory.
| |||||||||||
Return whether the given JDO PersistenceManager is transactional, that is,
bound to the current thread by Spring's transaction facilities.
| |||||||||||
Close the given PersistenceManager, created via the given factory,
if it is not managed externally (i.e.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
|
Order value for TransactionSynchronization objects that clean up JDO PersistenceManagers. Return DataSourceUtils.CONNECTION_SYNCHRONIZATION_ORDER - 100 to execute PersistenceManager cleanup before JDBC Connection cleanup, if any.
Apply the current transaction timeout, if any, to the given JDO Query object.
query | the JDO Query object |
---|---|
pmf | JDO PersistenceManagerFactory that the Query was created for |
jdoDialect | the JdoDialect to use for applying a query timeout
(must not be null ) |
if thrown by JDO methods | |
JDOException |
Convert the given JDOException to an appropriate exception from the
org.springframework.dao
hierarchy.
The most important cases like object not found or optimistic locking failure are covered here. For more fine-granular conversion, JdoAccessor and JdoTransactionManager support sophisticated translation of exceptions via a JdoDialect.
ex | JDOException that occured |
---|
Obtain a JDO PersistenceManager via the given factory. Is aware of a
corresponding PersistenceManager bound to the current thread,
for example when using JdoTransactionManager. Will create a new
PersistenceManager else, if "allowCreate" is true
.
Same as getPersistenceManager
, but throwing the original JDOException.
pmf | PersistenceManagerFactory to create the PersistenceManager with |
---|---|
allowCreate | if a non-transactional PersistenceManager should be created when no transactional PersistenceManager can be found for the current thread |
if the PersistenceManager couldn't be created | |
IllegalStateException | if no thread-bound PersistenceManager found and
"allowCreate" is false |
JDOException |
JdoTransactionManager
Actually release a PersistenceManager for the given factory.
Same as releasePersistenceManager
, but throwing the original JDOException.
pm | PersistenceManager to close |
---|---|
pmf | PersistenceManagerFactory that the PersistenceManager was created with
(can be null ) |
if thrown by JDO methods | |
JDOException |
Obtain a JDO PersistenceManager via the given factory. Is aware of a
corresponding PersistenceManager bound to the current thread,
for example when using JdoTransactionManager. Will create a new
PersistenceManager else, if "allowCreate" is true
.
pmf | PersistenceManagerFactory to create the PersistenceManager with |
---|---|
allowCreate | if a non-transactional PersistenceManager should be created when no transactional PersistenceManager can be found for the current thread |
DataAccessResourceFailureException | if the PersistenceManager couldn't be obtained |
---|---|
IllegalStateException | if no thread-bound PersistenceManager found and
"allowCreate" is false |
Return whether the given JDO PersistenceManager is transactional, that is, bound to the current thread by Spring's transaction facilities.
pm | the JDO PersistenceManager to check |
---|---|
pmf | JDO PersistenceManagerFactory that the PersistenceManager
was created with (can be null ) |
Close the given PersistenceManager, created via the given factory, if it is not managed externally (i.e. not bound to the thread).
pm | PersistenceManager to close |
---|---|
pmf | PersistenceManagerFactory that the PersistenceManager was created with
(can be null )
|