org.springframework.orm.jpa.support

## Class JpaDaoSupport

- java.lang.Object
- - org.springframework.dao.support.DaoSupport
  - - org.springframework.orm.jpa.support.JpaDaoSupport

All Implemented Interfaces:
  InitializingBean

Deprecated.
as of Spring 3.1, in favor of native EntityManager usage (typically obtained through `@PersistenceContext`)

    @Deprecated
    public abstract class JpaDaoSupport
    extends DaoSupport

Convenient super class for JPA data access objects. Intended for JpaTemplate usage. Alternatively, JPA-based DAOs can be coded against the plain JPA EntityManagerFactory/EntityManager API.

Requires an EntityManagerFactory or EntityManager to be set, providing a JpaTemplate based on it to subclasses. Can alternatively be initialized directly via a JpaTemplate, to reuse the latter's settings such as the EntityManagerFactory, JpaDialect, flush mode, etc.

This class will create its own JpaTemplate if an EntityManagerFactory or EntityManager reference is passed in. A custom JpaTemplate instance can be used through overriding `createJpaTemplate`.

Since:
  2.0
Author:
  Juergen Hoeller
See Also:
  `setEntityManagerFactory(javax.persistence.EntityManagerFactory)`, `setEntityManager(javax.persistence.EntityManager)`, `createJpaTemplate(javax.persistence.EntityManagerFactory)`, `setJpaTemplate(org.springframework.orm.jpa.JpaTemplate)`, `JpaTemplate`

### Field Summary

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

`logger`

### Constructor Summary

Constructors
Constructor and Description
`JpaDaoSupport()` Deprecated.

### Method Summary

Methods
`protected void` `checkDaoConfig()` Deprecated. Abstract subclasses must override this to check their configuration.
`protected JpaTemplate` `createJpaTemplate(EntityManager entityManager)` Deprecated. Create a JpaTemplate for the given EntityManager.
`protected JpaTemplate` `createJpaTemplate(EntityManagerFactory entityManagerFactory)` Deprecated. Create a JpaTemplate for the given EntityManagerFactory.
`JpaTemplate` `getJpaTemplate()` Deprecated. Return the JpaTemplate for this DAO, pre-initialized with the EntityManagerFactory or set explicitly.
`void` `setEntityManager(EntityManager entityManager)` Deprecated. Set the JPA EntityManager to be used by this DAO.
`void` `setEntityManagerFactory(EntityManagerFactory entityManagerFactory)` Deprecated. Set the JPA EntityManagerFactory to be used by this DAO.
`void` `setJpaTemplate(JpaTemplate jpaTemplate)` Deprecated. Set the JpaTemplate for this DAO explicitly, as an alternative to specifying a EntityManagerFactory.

### 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

#### JpaDaoSupport

    public JpaDaoSupport()

Deprecated.

### Method Detail

#### setEntityManagerFactory

    public final void setEntityManagerFactory(EntityManagerFactory entityManagerFactory)

Deprecated.
Set the JPA EntityManagerFactory to be used by this DAO. Will automatically create a JpaTemplate for the given EntityManagerFactory.

See Also:
  `createJpaTemplate(javax.persistence.EntityManagerFactory)`, `setJpaTemplate(org.springframework.orm.jpa.JpaTemplate)`

#### createJpaTemplate

    protected JpaTemplate createJpaTemplate(EntityManagerFactory entityManagerFactory)

Deprecated.
Create a JpaTemplate for the given EntityManagerFactory. Only invoked if populating the DAO with a EntityManagerFactory reference!

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

Parameters:
  `entityManagerFactory` - the JPA EntityManagerFactory to create a JpaTemplate for
Returns:
  the new JpaTemplate instance
See Also:
  `setEntityManagerFactory(javax.persistence.EntityManagerFactory)`

#### setEntityManager

    public final void setEntityManager(EntityManager entityManager)

Deprecated.
Set the JPA EntityManager to be used by this DAO. Will automatically create a JpaTemplate for the given EntityManager.

See Also:
  `createJpaTemplate(javax.persistence.EntityManagerFactory)`, `setJpaTemplate(org.springframework.orm.jpa.JpaTemplate)`

#### createJpaTemplate

    protected JpaTemplate createJpaTemplate(EntityManager entityManager)

Deprecated.
Create a JpaTemplate for the given EntityManager. Only invoked if populating the DAO with a EntityManager reference!

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

Parameters:
  `entityManager` - the JPA EntityManager to create a JpaTemplate for
Returns:
  the new JpaTemplate instance
See Also:
  `setEntityManagerFactory(javax.persistence.EntityManagerFactory)`

#### setJpaTemplate

    public final void setJpaTemplate(JpaTemplate jpaTemplate)

Deprecated.
Set the JpaTemplate for this DAO explicitly, as an alternative to specifying a EntityManagerFactory.

See Also:
  `setEntityManagerFactory(javax.persistence.EntityManagerFactory)`

#### getJpaTemplate

    public final JpaTemplate getJpaTemplate()

Deprecated.
Return the JpaTemplate for this DAO, pre-initialized with the EntityManagerFactory 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`