Package jakarta.persistence.spi
Interface PersistenceUnitInfo
public interface PersistenceUnitInfo
Interface implemented by the container and used by the persistence
provider when creating an
EntityManagerFactory
.- Since:
- 1.0
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addTransformer
(ClassTransformer transformer) Add a transformer supplied by the provider that is called for every new class definition or class redefinition that gets loaded by the loader returned by thegetClassLoader()
method.boolean
Returns whether classes in the root of the persistence unit that have not been explicitly listed are to be included in the set of managed classes.Returns ClassLoader that the provider may use to load any classes, resources, or open URLs.Returns a list of URLs for the jar files or exploded jar file directories that the persistence provider must examine for managed classes of the persistence unit.Returns the JTA-enabled data source to be used by the persistence provider.Returns the list of the names of the classes that the persistence provider must add to its set of managed classes.Returns the list of the names of the mapping files that the persistence provider must load to determine the mappings for the entity classes.Return a new instance of aClassLoader
that the provider may use to temporarily load any classes, resources, or open URLs.Returns the non-JTA-enabled data source to be used by the persistence provider for accessing data outside a JTA transaction.Returns the fully qualified name of the persistence provider implementation class.Returns the name of the persistence unit.Returns the URL for the jar file or directory that is the root of the persistence unit.Returns the schema version of thepersistence.xml
file.Returns a properties object.Returns the fully-qualified class names of annotations annotatedQualifier
.Returns the fully-qualified class name of an annotation annotatedScope
orNormalScope
.Returns the specification of how the provider must use a second-level cache for the persistence unit.Returns the transaction type of the entity managers created by theEntityManagerFactory
.Returns the validation mode to be used by the persistence provider for the persistence unit.
-
Method Details
-
getPersistenceUnitName
String getPersistenceUnitName()Returns the name of the persistence unit. Corresponds to thename
attribute in thepersistence.xml
file.- Returns:
- the name of the persistence unit
-
getPersistenceProviderClassName
String getPersistenceProviderClassName()Returns the fully qualified name of the persistence provider implementation class. Corresponds to theprovider
element in thepersistence.xml
file.- Returns:
- the fully qualified name of the persistence provider implementation class
-
getScopeAnnotationName
String getScopeAnnotationName()Returns the fully-qualified class name of an annotation annotatedScope
orNormalScope
. Corresponds to thescope
element inpersistence.xml
.- Returns:
- the fully-qualified class name of the scope annotation, or null if no scope was explicitly specified
-
getQualifierAnnotationNames
Returns the fully-qualified class names of annotations annotatedQualifier
. Corresponds to thequalifier
element inpersistence.xml
.- Returns:
- the fully-qualified class names of the qualifier annotations, or an empty list if no qualifier annotations were explicitly specified
-
getTransactionType
PersistenceUnitTransactionType getTransactionType()Returns the transaction type of the entity managers created by theEntityManagerFactory
. The transaction type corresponds to thetransaction-type
attribute in thepersistence.xml
file.- Returns:
- transaction type of the entity managers created
by the EntityManagerFactory
Note: This method will change its return type to
PersistenceUnitTransactionType
in the next major version.
-
getJtaDataSource
DataSource getJtaDataSource()Returns the JTA-enabled data source to be used by the persistence provider. The data source corresponds to thejta-data-source
element in thepersistence.xml
file or is provided at deployment or by the container.- Returns:
- the JTA-enabled data source to be used by the persistence provider
-
getNonJtaDataSource
DataSource getNonJtaDataSource()Returns the non-JTA-enabled data source to be used by the persistence provider for accessing data outside a JTA transaction. The data source corresponds to the namednon-jta-data-source
element in thepersistence.xml
file or provided at deployment or by the container.- Returns:
- the non-JTA-enabled data source to be used by the persistence provider for accessing data outside a JTA transaction
-
getMappingFileNames
Returns the list of the names of the mapping files that the persistence provider must load to determine the mappings for the entity classes. The mapping files must be in the standard XML mapping format, be uniquely named and be resource-loadable from the application classpath. Each mapping file name corresponds to amapping-file
element in thepersistence.xml
file.- Returns:
- the list of mapping file names that the persistence provider must load to determine the mappings for the entity classes
-
getJarFileUrls
Returns a list of URLs for the jar files or exploded jar file directories that the persistence provider must examine for managed classes of the persistence unit. Each URL corresponds to ajar-file
element in thepersistence.xml
file. A URL will either be a file: URL referring to a jar file or referring to a directory that contains an exploded jar file, or some other URL from which an InputStream in jar format can be obtained.- Returns:
- a list of URL objects referring to jar files or directories
-
getPersistenceUnitRootUrl
URL getPersistenceUnitRootUrl()Returns the URL for the jar file or directory that is the root of the persistence unit. (If the persistence unit is rooted in the WEB-INF/classes directory, this is the URL of that directory.) The URL will either be a file: URL referring to a jar file or referring to a directory that contains an exploded jar file, or some other URL from which an InputStream in jar format can be obtained.- Returns:
- a URL referring to a jar file or directory
-
getManagedClassNames
Returns the list of the names of the classes that the persistence provider must add to its set of managed classes. Each name corresponds to a namedclass
element in thepersistence.xml
file.- Returns:
- the list of the names of the classes that the persistence provider must add to its set of managed classes
-
excludeUnlistedClasses
boolean excludeUnlistedClasses()Returns whether classes in the root of the persistence unit that have not been explicitly listed are to be included in the set of managed classes. This value corresponds to theexclude-unlisted-classes
element in thepersistence.xml
file.- Returns:
- whether classes in the root of the persistence unit that have not been explicitly listed are to be included in the set of managed classes
-
getValidationMode
ValidationMode getValidationMode()Returns the validation mode to be used by the persistence provider for the persistence unit. The validation mode corresponds to thevalidation-mode
element in thepersistence.xml
file.- Returns:
- the validation mode to be used by the persistence provider for the persistence unit
- Since:
- 2.0
-
getProperties
Properties getProperties()Returns a properties object. Each property corresponds to aproperty
element in thepersistence.xml
file or to a property set by the container.- Returns:
- Properties object
-
getPersistenceXMLSchemaVersion
String getPersistenceXMLSchemaVersion()Returns the schema version of thepersistence.xml
file.- Returns:
persistence.xml
schema version- Since:
- 2.0
-
getClassLoader
ClassLoader getClassLoader()Returns ClassLoader that the provider may use to load any classes, resources, or open URLs.- Returns:
- ClassLoader that the provider may use to load any classes, resources, or open URLs
-
addTransformer
Add a transformer supplied by the provider that is called for every new class definition or class redefinition that gets loaded by the loader returned by thegetClassLoader()
method. The transformer has no effect on the result returned by thegetNewTempClassLoader()
method. Classes are only transformed once within the same classloading scope, regardless of how many persistence units they may be a part of.- Parameters:
transformer
- provider-supplied transformer that the container invokes at class-(re)definition time
-
getNewTempClassLoader
ClassLoader getNewTempClassLoader()Return a new instance of aClassLoader
that the provider may use to temporarily load any classes, resources, or open URLs. The scope and classpath of this loader is exactly the same as that of the loader returned bygetClassLoader()
. None of the classes loaded by this class loader are visible to application components. The provider may only use thisClassLoader
within the scope of thePersistenceProvider.createContainerEntityManagerFactory(jakarta.persistence.spi.PersistenceUnitInfo, java.util.Map<?, ?>)
call.- Returns:
- temporary
ClassLoader
with same visibility as current loader
-