Package 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

Modifier and Type
Method
Description
`PersistenceUnitInfo`
`obtainDefaultPersistenceUnitInfo()`
Obtain the default PersistenceUnitInfo from this manager.
`PersistenceUnitInfo`
`obtainPersistenceUnitInfo(String persistenceUnitName)`
Obtain the specified PersistenceUnitInfo from this manager.

## Method Details

### obtainDefaultPersistenceUnitInfo

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

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