Class EntityManagerFactoryImpl
- All Implemented Interfaces:
EntityManagerFactory,PersistenceUnitUtil,AutoCloseable
-
Constructor Summary
ConstructorsConstructorDescriptionEntityManagerFactoryImpl(Map<String, String> properties, Consumer<EntityManagerFactoryImpl> closeListener) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddNamedQuery(String name, Query query) Define the query or typed query as a named query such that future query objects can be created from it using thecreateNamedQuerymethod.voidclose()Close the factory, releasing any resources that it holds.Create a new application-managed EntityManager.createEntityManager(Map<String, String> map) Create a new EntityManager with the specified Map of properties.getCache()Access the cache that is associated with the entity manager factory (the "second level cache").Returns an instance ofCriteriaBuilderwhich may be used to constructCriteriaQueryobjects.getIdentifier(Object entity) Return the id of the entity.Return an instance of Metamodel interface for access to the metamodel of the persistence unit.Return interface providing access to utility methods for the persistence unit.Get the properties and associated values that are in effect for the entity manager factory.Gets theServerSessionthat provides storage access and second level cache in this persistence unit.booleanDetermine the load state of an entity belonging to the persistence unit.booleanDetermine the load state of a given persistent attribute of an entity belonging to the persistence unit.booleanisOpen()Indicates whether the factory is open.<T> TReturn an object of the specified type to allow access to the provider-specific API.
-
Constructor Details
-
EntityManagerFactoryImpl
public EntityManagerFactoryImpl(Map<String, String> properties, Consumer<EntityManagerFactoryImpl> closeListener)
-
-
Method Details
-
close
public void close()Description copied from interface:EntityManagerFactoryClose the factory, releasing any resources that it holds. After a factory instance is closed, all methods invoked on it will throw an IllegalStateException, except for isOpen, which will return false. Once an EntityManagerFactory has been closed, all its entity managers are considered to be in the closed state.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceEntityManagerFactory
-
createEntityManager
Description copied from interface:EntityManagerFactoryCreate a new application-managed EntityManager. This method returns a new EntityManager instance each time it is invoked. The isOpen method will return true on the returned instance.- Specified by:
createEntityManagerin interfaceEntityManagerFactory- Returns:
- entity manager instance
-
createEntityManager
Description copied from interface:EntityManagerFactoryCreate a new EntityManager with the specified Map of properties. This method returns a new EntityManager instance each time it is invoked. The isOpen method will return true on the returned instance.- Specified by:
createEntityManagerin interfaceEntityManagerFactory- Parameters:
map- properties for entity manager- Returns:
- entity manager instance
-
getCriteriaBuilder
Description copied from interface:EntityManagerFactoryReturns an instance ofCriteriaBuilderwhich may be used to constructCriteriaQueryobjects.- Specified by:
getCriteriaBuilderin interfaceEntityManagerFactory- Returns:
- an instance of
CriteriaBuilder
-
getServerSession
Gets theServerSessionthat provides storage access and second level cache in this persistence unit.- Returns:
- The ServerSession for this factory.
- Throws:
IllegalStateException- If the factory is closed
-
isOpen
public boolean isOpen()Description copied from interface:EntityManagerFactoryIndicates whether the factory is open. Returns true until the factory has been closed.- Specified by:
isOpenin interfaceEntityManagerFactory- Returns:
- true if the entity manager is open
-
getProperties
Description copied from interface:EntityManagerFactoryGet the properties and associated values that are in effect for the entity manager factory.Changing the contents of the map does not change the configuration in effect.
- Specified by:
getPropertiesin interfaceEntityManagerFactory- Returns:
- properties
-
getMetamodel
Description copied from interface:EntityManagerFactoryReturn an instance of Metamodel interface for access to the metamodel of the persistence unit.- Specified by:
getMetamodelin interfaceEntityManagerFactory- Returns:
- Metamodel instance
-
getPersistenceUnitUtil
Description copied from interface:EntityManagerFactoryReturn interface providing access to utility methods for the persistence unit.- Specified by:
getPersistenceUnitUtilin interfaceEntityManagerFactory- Returns:
PersistenceUnitUtilinterface
-
addNamedQuery
Description copied from interface:EntityManagerFactoryDefine the query or typed query as a named query such that future query objects can be created from it using thecreateNamedQuerymethod. Any configuration of the query object (except for actual parameter binding) in effect when the named query is added is retained as part of the named query definition. This includes configuration information such as max results and result set mapping information.When the query is executed, information that can be set by means of the query APIs can be overridden. Information that is overridden does not affect the named query as registered with the entity manager factory, and thus does not affect subsequent query objects created from it by means of the
createNamedQuerymethod.If a named query of the same name has been previously defined, either statically via metadata or via this method, that query definition is replaced.
- Specified by:
addNamedQueryin interfaceEntityManagerFactory- Parameters:
name- name for the queryquery-QueryorTypedQueryobject
-
unwrap
Description copied from interface:EntityManagerFactoryReturn an object of the specified type to allow access to the provider-specific API. If the provider's EntityManagerFactory implementation does not support the specified class, theOWLPersistenceExceptionis thrown.- Specified by:
unwrapin interfaceEntityManagerFactory- Parameters:
cls- The class of the object to be returned. This can be also an implementation of the underlying driver- Returns:
- an instance of the specified class
-
getIdentifier
Description copied from interface:PersistenceUnitUtilReturn the id of the entity. A generated id is not guaranteed to be available until after the database insert has occurred. Returns null if the entity does not yet have an id.- Specified by:
getIdentifierin interfacePersistenceUnitUtil- Parameters:
entity- entity instance- Returns:
- id of the entity
-
isLoaded
Description copied from interface:PersistenceUnitUtilDetermine the load state of a given persistent attribute of an entity belonging to the persistence unit.- Specified by:
isLoadedin interfacePersistenceUnitUtil- Parameters:
entity- entity instance containing the attributeattributeName- name of attribute whose load state is to be determined- Returns:
- false if entity's state has not been loaded or if the attribute state has not been loaded, else true
-
isLoaded
Description copied from interface:PersistenceUnitUtilDetermine the load state of an entity belonging to the persistence unit.This method can be used to determine the load state of an entity passed as a reference. An entity is considered loaded if all attributes for which
FetchType.EAGERhas been specified have been loaded.The
PersistenceUnitUtil.isLoaded(Object, String)method should be used to determine the load state of an attribute. Not doing so might lead to unintended loading of state.- Specified by:
isLoadedin interfacePersistenceUnitUtil- Parameters:
entity- entity instance whose load state is to be determined- Returns:
- false if the entity has not been loaded, else true
-
getCache
Description copied from interface:EntityManagerFactoryAccess the cache that is associated with the entity manager factory (the "second level cache").- Specified by:
getCachein interfaceEntityManagerFactory- Returns:
- instance of the Cache interface
-