## org.springframework.orm.jpa.persistenceunit
Interface PersistenceUnitManager

All Known Implementing Classes:
  DefaultPersistenceUnitManager

    public interface PersistenceUnitManager

Interface that defines an abstraction for finding and managing JPA PersistenceUnitInfos. Used by `LocalContainerEntityManagerFactoryBean` in order to obtain a `PersistenceUnitInfo` for building a concrete `EntityManagerFactory`.

Obtaining a PersistenceUnitInfo instance is an exclusive process. A PersistenceUnitInfo instance is not available for further calls anymore once it has been obtained.

Since:
  2.0
Author:
  Juergen Hoeller
See Also:
  `DefaultPersistenceUnitManager`, `LocalContainerEntityManagerFactoryBean.setPersistenceUnitManager(org.springframework.orm.jpa.persistenceunit.PersistenceUnitManager)`

Method Summary
`javax.persistence.spi.PersistenceUnitInfo` `obtainDefaultPersistenceUnitInfo()` Obtain the default PersistenceUnitInfo from this manager.
`javax.persistence.spi.PersistenceUnitInfo` `obtainPersistenceUnitInfo(String persistenceUnitName)` Obtain the specified PersistenceUnitInfo from this manager.

Method Detail

### obtainDefaultPersistenceUnitInfo

    javax.persistence.spi.PersistenceUnitInfo obtainDefaultPersistenceUnitInfo()
                                                                               throws IllegalStateException

  Obtain the default PersistenceUnitInfo from this manager.

  Returns:
    the PersistenceUnitInfo (never `null`)
  Throws:
    `IllegalStateException` - if there is no default PersistenceUnitInfo defined or it has already been obtained

### obtainPersistenceUnitInfo

    javax.persistence.spi.PersistenceUnitInfo obtainPersistenceUnitInfo(String persistenceUnitName)
                                                                        throws IllegalArgumentException,
                                                                               IllegalStateException

  Obtain the specified PersistenceUnitInfo from this manager.

  Parameters:
    `persistenceUnitName` - the name of the desired persistence unit
  Returns:
    the PersistenceUnitInfo (never `null`)
  Throws:
    `IllegalArgumentException` - if no PersistenceUnitInfo with the given name is defined
    `IllegalStateException` - if the PersistenceUnitInfo with the given name has already been obtained