Package org.springframework.orm.jpa.persistenceunit

# Interface SmartPersistenceUnitInfo

All Superinterfaces:
  `PersistenceUnitInfo`

All Known Implementing Classes:
  `MutablePersistenceUnitInfo`

public interface SmartPersistenceUnitInfo extends PersistenceUnitInfo
Extension of the standard JPA PersistenceUnitInfo interface, for advanced collaboration between Spring's `LocalContainerEntityManagerFactoryBean` and `PersistenceUnitManager` implementations.

Since:
  3.0.1
Author:
  Juergen Hoeller
See Also:
  - `PersistenceUnitManager`
  - `LocalContainerEntityManagerFactoryBean`

## Method Summary

Modifier and Type
Method
Description
`List<String>`
`getManagedPackages()`
Return a list of managed Java packages, to be introspected by the persistence provider.
`void`
`setPersistenceProviderPackageName(String persistenceProviderPackageName)`
Set the persistence provider's own package name, for exclusion from class transformation.

### Methods inherited from interface jakarta.persistence.spi.PersistenceUnitInfo

`addTransformer, excludeUnlistedClasses, getClassLoader, getJarFileUrls, getJtaDataSource, getManagedClassNames, getMappingFileNames, getNewTempClassLoader, getNonJtaDataSource, getPersistenceProviderClassName, getPersistenceUnitName, getPersistenceUnitRootUrl, getPersistenceXMLSchemaVersion, getProperties, getSharedCacheMode, getTransactionType, getValidationMode`

## Method Details

### getManagedPackages

List<String> getManagedPackages()
Return a list of managed Java packages, to be introspected by the persistence provider. Typically found through scanning but not exposable through `PersistenceUnitInfo.getManagedClassNames()`.

Returns:
  a list of names of managed Java packages (potentially empty)
Since:
  4.1

### setPersistenceProviderPackageName

void setPersistenceProviderPackageName(String persistenceProviderPackageName)
Set the persistence provider's own package name, for exclusion from class transformation.

See Also:
  - `PersistenceUnitInfo.addTransformer(jakarta.persistence.spi.ClassTransformer)`
  - `PersistenceUnitInfo.getNewTempClassLoader()`