org.springframework.orm.jpa

## Interface EntityManagerFactoryInfo

All Known Implementing Classes:
  AbstractEntityManagerFactoryBean, LocalContainerEntityManagerFactoryBean, LocalEntityManagerFactoryBean

    public interface EntityManagerFactoryInfo

Metadata interface for a Spring-managed JPA `EntityManagerFactory`.

This facility can be obtained from Spring-managed EntityManagerFactory proxies through casting the EntityManagerFactory handle to this interface.

Since:
  2.0
Author:
  Rod Johnson, Juergen Hoeller

### Method Summary

Methods
`ClassLoader` `getBeanClassLoader()` Return the ClassLoader that the application's beans are loaded with.
`DataSource` `getDataSource()` Return the JDBC DataSource that this EntityManagerFactory obtains its JDBC Connections from.
`Class<? extends EntityManager>` `getEntityManagerInterface()` Return the (potentially vendor-specific) EntityManager interface that this factory's EntityManagers will implement.
`JpaDialect` `getJpaDialect()` Return the vendor-specific JpaDialect implementation for this EntityManagerFactory, or `null` if not known.
`EntityManagerFactory` `getNativeEntityManagerFactory()` Return the raw underlying EntityManagerFactory.
`PersistenceProvider` `getPersistenceProvider()` Return the underlying PersistenceProvider that the underlying EntityManagerFactory was created with.
`PersistenceUnitInfo` `getPersistenceUnitInfo()` Return the PersistenceUnitInfo used to create this EntityManagerFactory, if the in-container API was used.
`String` `getPersistenceUnitName()` Return the name of the persistence unit used to create this EntityManagerFactory, or `null` if it is an unnamed default.

### Method Detail

#### getNativeEntityManagerFactory

    EntityManagerFactory getNativeEntityManagerFactory()

Return the raw underlying EntityManagerFactory.

Returns:
  the unadorned EntityManagerFactory (never `null`)

#### getPersistenceProvider

    PersistenceProvider getPersistenceProvider()

Return the underlying PersistenceProvider that the underlying EntityManagerFactory was created with.

Returns:
  the PersistenceProvider used to create this EntityManagerFactory, or `null` if the standard JPA provider autodetection process was used to configure the EntityManagerFactory

#### getPersistenceUnitInfo

    PersistenceUnitInfo getPersistenceUnitInfo()

Return the PersistenceUnitInfo used to create this EntityManagerFactory, if the in-container API was used.

Returns:
  the PersistenceUnitInfo used to create this EntityManagerFactory, or `null` if the in-container contract was not used to configure the EntityManagerFactory

#### getPersistenceUnitName

    String getPersistenceUnitName()

Return the name of the persistence unit used to create this EntityManagerFactory, or `null` if it is an unnamed default.

If `getPersistenceUnitInfo()` returns non-null, the result of `getPersistenceUnitName()` must be equal to the value returned by `PersistenceUnitInfo.getPersistenceUnitName()`.

See Also:
  `getPersistenceUnitInfo()`, `PersistenceUnitInfo.getPersistenceUnitName()`

#### getDataSource

    DataSource getDataSource()

Return the JDBC DataSource that this EntityManagerFactory obtains its JDBC Connections from.

Returns:
  the JDBC DataSource, or `null` if not known

#### getEntityManagerInterface

    Class<? extends EntityManager> getEntityManagerInterface()

Return the (potentially vendor-specific) EntityManager interface that this factory's EntityManagers will implement.

A `null` return value suggests that autodetection is supposed to happen: either based on a target `EntityManager` instance or simply defaulting to `javax.persistence.EntityManager`.

#### getJpaDialect

    JpaDialect getJpaDialect()

Return the vendor-specific JpaDialect implementation for this EntityManagerFactory, or `null` if not known.

#### getBeanClassLoader

    ClassLoader getBeanClassLoader()

Return the ClassLoader that the application's beans are loaded with.

Proxies will be generated in this ClassLoader.