|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.springframework.dao.support.DaoSupport
org.springframework.orm.jdo.support.JdoDaoSupport
public abstract class JdoDaoSupport
Convenient super class for JDO data access objects.
Requires a PersistenceManagerFactory to be set, providing a JdoTemplate based on it to subclasses. Can alternatively be initialized directly via a JdoTemplate, to reuse the latter's settings like PersistenceManagerFactory, JdoDialect, flush mode, etc.
This base class is mainly intended for JdoTemplate usage but can also
be used when working with PersistenceManagerFactoryUtils directly, e.g. in
combination with JdoInterceptor-managed PersistenceManagers. Convenience
getPersistenceManager
and releasePersistenceManager
methods are provided for that usage style.
This class will create its own JdoTemplate if only a PersistenceManagerFactory
is passed in. The allowCreate flag on that JdoTemplate will be true by default.
A custom JdoTemplate instance can be used through overriding createJdoTemplate
.
setPersistenceManagerFactory(javax.jdo.PersistenceManagerFactory)
,
setJdoTemplate(org.springframework.orm.jdo.JdoTemplate)
,
getPersistenceManager()
,
releasePersistenceManager(javax.jdo.PersistenceManager)
,
JdoTemplate
,
JdoInterceptor
Field Summary |
---|
Fields inherited from class org.springframework.dao.support.DaoSupport |
---|
logger |
Constructor Summary | |
---|---|
JdoDaoSupport()
|
Method Summary | |
---|---|
protected void |
checkDaoConfig()
Abstract subclasses must override this to check their configuration. |
protected void |
closePersistenceManagerIfNecessary(javax.jdo.PersistenceManager pm)
Deprecated. in favor of releasePersistenceManager |
protected DataAccessException |
convertJdoAccessException(javax.jdo.JDOException ex)
Convert the given JDOException to an appropriate exception from the org.springframework.dao hierarchy. |
protected JdoTemplate |
createJdoTemplate(javax.jdo.PersistenceManagerFactory persistenceManagerFactory)
Create a JdoTemplate for the given PersistenceManagerFactory. |
JdoTemplate |
getJdoTemplate()
Return the JdoTemplate for this DAO, pre-initialized with the PersistenceManagerFactory or set explicitly. |
protected javax.jdo.PersistenceManager |
getPersistenceManager()
Get a JDO PersistenceManager, either from the current transaction or a new one. |
protected javax.jdo.PersistenceManager |
getPersistenceManager(boolean allowCreate)
Get a JDO PersistenceManager, either from the current transaction or a new one. |
javax.jdo.PersistenceManagerFactory |
getPersistenceManagerFactory()
Return the JDO PersistenceManagerFactory used by this DAO. |
protected void |
releasePersistenceManager(javax.jdo.PersistenceManager pm)
Close the given JDO PersistenceManager, created via this DAO's PersistenceManagerFactory, if it isn't bound to the thread. |
void |
setJdoTemplate(JdoTemplate jdoTemplate)
Set the JdoTemplate for this DAO explicitly, as an alternative to specifying a PersistenceManagerFactory. |
void |
setPersistenceManagerFactory(javax.jdo.PersistenceManagerFactory persistenceManagerFactory)
Set the JDO PersistenceManagerFactory to be used by this DAO. |
Methods inherited from class org.springframework.dao.support.DaoSupport |
---|
afterPropertiesSet, initDao |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public JdoDaoSupport()
Method Detail |
---|
public final void setPersistenceManagerFactory(javax.jdo.PersistenceManagerFactory persistenceManagerFactory)
createJdoTemplate(javax.jdo.PersistenceManagerFactory)
,
setJdoTemplate(org.springframework.orm.jdo.JdoTemplate)
protected JdoTemplate createJdoTemplate(javax.jdo.PersistenceManagerFactory persistenceManagerFactory)
Can be overridden in subclasses to provide a JdoTemplate instance with different configuration, or a custom JdoTemplate subclass.
persistenceManagerFactory
- the JDO PersistenceManagerFactoryto create a JdoTemplate for
setPersistenceManagerFactory(javax.jdo.PersistenceManagerFactory)
public final javax.jdo.PersistenceManagerFactory getPersistenceManagerFactory()
public final void setJdoTemplate(JdoTemplate jdoTemplate)
setPersistenceManagerFactory(javax.jdo.PersistenceManagerFactory)
public final JdoTemplate getJdoTemplate()
protected final void checkDaoConfig()
DaoSupport
Implementors should be marked as final
, to make it clear that
concrete subclasses are not supposed to override this template method themselves.
checkDaoConfig
in class DaoSupport
protected final javax.jdo.PersistenceManager getPersistenceManager()
DataAccessResourceFailureException
- if the PersistenceManager couldn't be created
IllegalStateException
- if no thread-bound PersistenceManager found and allowCreate falsePersistenceManagerFactoryUtils.getPersistenceManager(javax.jdo.PersistenceManagerFactory, boolean)
protected final javax.jdo.PersistenceManager getPersistenceManager(boolean allowCreate) throws DataAccessResourceFailureException, IllegalStateException
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 created
IllegalStateException
- if no thread-bound PersistenceManager found and allowCreate falsePersistenceManagerFactoryUtils.getPersistenceManager(javax.jdo.PersistenceManagerFactory, boolean)
protected final DataAccessException convertJdoAccessException(javax.jdo.JDOException ex)
Delegates to the convertJdoAccessException method of this DAO's JdoTemplate.
ex
- JDOException that occured
setJdoTemplate(org.springframework.orm.jdo.JdoTemplate)
,
JdoAccessor.convertJdoAccessException(javax.jdo.JDOException)
protected final void closePersistenceManagerIfNecessary(javax.jdo.PersistenceManager pm)
releasePersistenceManager(javax.jdo.PersistenceManager)
protected final void releasePersistenceManager(javax.jdo.PersistenceManager pm)
pm
- PersistenceManager to closePersistenceManagerFactoryUtils.releasePersistenceManager(javax.jdo.PersistenceManager, javax.jdo.PersistenceManagerFactory)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |