## 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
`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 javax.persistence.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.
`javax.persistence.EntityManagerFactory` `getNativeEntityManagerFactory()` Return the raw underlying EntityManagerFactory.
`javax.persistence.spi.PersistenceProvider` `getPersistenceProvider()` Return the underlying PersistenceProvider that the underlying EntityManagerFactory was created with.
`javax.persistence.spi.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

    javax.persistence.EntityManagerFactory getNativeEntityManagerFactory()

  Return the raw underlying EntityManagerFactory.

  Returns:
    the unadorned EntityManagerFactory (never `null`)

### getPersistenceProvider

    javax.persistence.spi.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

    javax.persistence.spi.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 javax.persistence.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.