JdoDaoSupport (Spring Framework 3.2.1.RELEASE API)
Date: 2013-01-24

org.springframework.orm.jdo.support

## Class JdoDaoSupport

- java.lang.Object
- - org.springframework.dao.support.DaoSupport
  - - org.springframework.orm.jdo.support.JdoDaoSupport

- All Implemented Interfaces:
    InitializingBean

  Deprecated.
  as of Spring 3.1, in favor of native PersistenceManager usage (see `TransactionAwarePersistenceManagerFactoryProxy` and `SpringPersistenceManagerProxyBean`)

      @Deprecated
      public abstract class JdoDaoSupport
      extends DaoSupport

  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 with a JdoTemplate, to reuse the latter's settings such as the PersistenceManagerFactory, JdoDialect, flush mode, etc.

  This base class is mainly intended for JdoTemplate usage but can also be used when working with PersistenceManagerFactoryUtils directly, for example 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`.

  Since:
    28.07.2003
  Author:
    Juergen Hoeller
  See Also:
    `setPersistenceManagerFactory(javax.jdo.PersistenceManagerFactory)`, `setJdoTemplate(org.springframework.orm.jdo.JdoTemplate)`, `createJdoTemplate(javax.jdo.PersistenceManagerFactory)`, `getPersistenceManager()`, `releasePersistenceManager(javax.jdo.PersistenceManager)`, `JdoTemplate`, `JdoInterceptor`

- - ### Field Summary

    - ### Fields inherited from class org.springframework.dao.support.DaoSupport

      `logger`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JdoDaoSupport()` Deprecated.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `checkDaoConfig()` Deprecated. Abstract subclasses must override this to check their configuration.
    `protected DataAccessException` | `convertJdoAccessException(javax.jdo.JDOException ex)` Deprecated. Convert the given JDOException to an appropriate exception from the org.springframework.dao hierarchy.
    `protected JdoTemplate` | `createJdoTemplate(javax.jdo.PersistenceManagerFactory persistenceManagerFactory)` Deprecated. Create a JdoTemplate for the given PersistenceManagerFactory.
    `JdoTemplate` | `getJdoTemplate()` Deprecated. Return the JdoTemplate for this DAO, pre-initialized with the PersistenceManagerFactory or set explicitly.
    `protected javax.jdo.PersistenceManager` | `getPersistenceManager()` Deprecated. Get a JDO PersistenceManager, either from the current transaction or a new one.
    `protected javax.jdo.PersistenceManager` | `getPersistenceManager(boolean allowCreate)` Deprecated. Get a JDO PersistenceManager, either from the current transaction or a new one.
    `javax.jdo.PersistenceManagerFactory` | `getPersistenceManagerFactory()` Deprecated. Return the JDO PersistenceManagerFactory used by this DAO.
    `protected void` | `releasePersistenceManager(javax.jdo.PersistenceManager pm)` Deprecated. Close the given JDO PersistenceManager, created via this DAO's PersistenceManagerFactory, if it isn't bound to the thread.
    `void` | `setJdoTemplate(JdoTemplate jdoTemplate)` Deprecated. Set the JdoTemplate for this DAO explicitly, as an alternative to specifying a PersistenceManagerFactory.
    `void` | `setPersistenceManagerFactory(javax.jdo.PersistenceManagerFactory persistenceManagerFactory)` Deprecated. 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

    - #### JdoDaoSupport

          public JdoDaoSupport()

      Deprecated.

  - ### Method Detail

    - #### setPersistenceManagerFactory

          public final void setPersistenceManagerFactory(javax.jdo.PersistenceManagerFactory persistenceManagerFactory)

      Deprecated.
      Set the JDO PersistenceManagerFactory to be used by this DAO. Will automatically create a JdoTemplate for the given PersistenceManagerFactory.
      See Also:
        `createJdoTemplate(javax.jdo.PersistenceManagerFactory)`, `setJdoTemplate(org.springframework.orm.jdo.JdoTemplate)`

    - #### createJdoTemplate

          protected JdoTemplate createJdoTemplate(javax.jdo.PersistenceManagerFactory persistenceManagerFactory)

      Deprecated.
      Create a JdoTemplate for the given PersistenceManagerFactory. Only invoked if populating the DAO with a PersistenceManagerFactory reference!

      Can be overridden in subclasses to provide a JdoTemplate instance with different configuration, or a custom JdoTemplate subclass.

      Parameters:
        `persistenceManagerFactory` - the JDO PersistenceManagerFactoryto create a JdoTemplate for
      Returns:
        the new JdoTemplate instance
      See Also:
        `setPersistenceManagerFactory(javax.jdo.PersistenceManagerFactory)`

    - #### getPersistenceManagerFactory

          public final javax.jdo.PersistenceManagerFactory getPersistenceManagerFactory()

      Deprecated.
      Return the JDO PersistenceManagerFactory used by this DAO.

    - #### setJdoTemplate

          public final void setJdoTemplate(JdoTemplate jdoTemplate)

      Deprecated.
      Set the JdoTemplate for this DAO explicitly, as an alternative to specifying a PersistenceManagerFactory.
      See Also:
        `setPersistenceManagerFactory(javax.jdo.PersistenceManagerFactory)`

    - #### getJdoTemplate

          public final JdoTemplate getJdoTemplate()

      Deprecated.
      Return the JdoTemplate for this DAO, pre-initialized with the PersistenceManagerFactory or set explicitly.

    - #### checkDaoConfig

          protected final void checkDaoConfig()

      Deprecated.
      Description copied from class: `DaoSupport`
      Abstract subclasses must override this to check their configuration.

      Implementors should be marked as `final` if concrete subclasses are not supposed to override this template method themselves.

      Specified by:
        `checkDaoConfig` in class `DaoSupport`

    - #### getPersistenceManager

          protected final javax.jdo.PersistenceManager getPersistenceManager()

      Deprecated.
      Get a JDO PersistenceManager, either from the current transaction or a new one. The latter is only allowed if the "allowCreate" setting of this bean's JdoTemplate is true.
      Returns:
        the JDO PersistenceManager
      Throws:
        `DataAccessResourceFailureException` - if the PersistenceManager couldn't be created
        `IllegalStateException` - if no thread-bound PersistenceManager found and allowCreate false
      See Also:
        `PersistenceManagerFactoryUtils.getPersistenceManager(javax.jdo.PersistenceManagerFactory, boolean)`

    - #### getPersistenceManager

          protected final javax.jdo.PersistenceManager getPersistenceManager(boolean allowCreate)
                                                                      throws DataAccessResourceFailureException,
                                                                             IllegalStateException

      Deprecated.
      Get a JDO PersistenceManager, either from the current transaction or a new one. The latter is only allowed if "allowCreate" is true.
      Parameters:
        `allowCreate` - if a non-transactional PersistenceManager should be created when no transactional PersistenceManager can be found for the current thread
      Returns:
        the JDO PersistenceManager
      Throws:
        `DataAccessResourceFailureException` - if the PersistenceManager couldn't be created
        `IllegalStateException` - if no thread-bound PersistenceManager found and allowCreate false
      See Also:
        `PersistenceManagerFactoryUtils.getPersistenceManager(javax.jdo.PersistenceManagerFactory, boolean)`

    - #### convertJdoAccessException

          protected final DataAccessException convertJdoAccessException(javax.jdo.JDOException ex)

      Deprecated.
      Convert the given JDOException to an appropriate exception from the org.springframework.dao hierarchy.

      Delegates to the convertJdoAccessException method of this DAO's JdoTemplate.

      Parameters:
        `ex` - JDOException that occured
      Returns:
        the corresponding DataAccessException instance
      See Also:
        `setJdoTemplate(org.springframework.orm.jdo.JdoTemplate)`, `JdoAccessor.convertJdoAccessException(javax.jdo.JDOException)`

    - #### releasePersistenceManager

          protected final void releasePersistenceManager(javax.jdo.PersistenceManager pm)

      Deprecated.
      Close the given JDO PersistenceManager, created via this DAO's PersistenceManagerFactory, if it isn't bound to the thread.
      Parameters:
        `pm` - PersistenceManager to close
      See Also:
        `PersistenceManagerFactoryUtils.releasePersistenceManager(javax.jdo.PersistenceManager, javax.jdo.PersistenceManagerFactory)`