Class EntityManagerImpl
- All Implemented Interfaces:
AbstractEntityManager
,EntityManager
,ConfigurationHolder
,Wrapper
,AutoCloseable
-
Method Summary
Modifier and TypeMethodDescriptionvoid
clear()
Clear the persistence context, causing all managed entities to become detached.void
close()
Close an application-managed EntityManager.boolean
Check if the instance belongs to the current persistence context.createDescriptor
(Class<?> cls) Creates aDescriptor
for instances of the specified entity class.createNamedQuery
(String name) Create an instance of Query for executing a named query (in native SPARQL).<T> TypedQueryImpl<T>
createNamedQuery
(String name, Class<T> resultClass) Create an instance of TypedQuery for executing a SPARQL named query.createNativeQuery
(String sparqlString) Create an instance of Query for executing a native SPARQL(-DL) query in SPARQL syntax.<T> TypedQueryImpl<T>
createNativeQuery
(String sparqlString, Class<T> resultClass) Create an instance of Query for executing a native SPARQL(-DL) query returning only specific object type.createNativeQuery
(String sparqlString, String resultSetMapping) Create an instance of Query for executing a native SPARQL query.<T> TypedQuery<T>
createQuery
(CriteriaQuery<T> criteriaQuery) Create an instance of TypedQuery for executing a criteria query.createQuery
(String qlString) Create an instance of Query for executing a Java Persistence query language statement.<T> TypedQueryImpl<T>
createQuery
(String query, Class<T> resultClass) Creates an instance of query for executing Java persistence query language statement.void
Remove the given entity from the persistence context, causing a managed entity to become detached.protected void
finalize()
<T> T
Find by identifier.<T> T
find
(Class<T> cls, Object identifier, Descriptor descriptor) Find by identifier.void
flush()
Synchronize the persistence context to the underlying database.Gets provider configuration.Returns a list of repository contexts available to this entity manager.Return a criteriaFactory for making CriteriaQuery.Return the UnitOfWork that holds the current persistence context.Return the underlying provider object for the EntityManager, if available.Return the entity manager factory for the entity manager.Return an instance of Metamodel interface for access to the metamodel of the persistence unit.Get the properties and hints and associated values that are in effect for the entity manager.<T> T
getReference
(Class<T> entityClass, Object identifier) Get an instance, whose state may be lazily fetched.<T> T
getReference
(Class<T> entityClass, Object identifier, Descriptor descriptor) Get an instance, whose state may be lazily fetched.Return the resource-level transaction object.boolean
isConsistent
(URI context) Checks consistency of the specified context.<T> boolean
isInferred
(T entity, FieldSpecification<? super T, ?> attribute, Object value) Checks whether the specified attribute value of the specified entity is inferred in the underlying repository.boolean
boolean
boolean
isOpen()
Determine whether the EntityManager is open.<T> T
merge
(T entity) Merge the state of the given entity into the current persistence context.<T> T
merge
(T entity, Descriptor descriptor) Merge the state of the given entity into the current persistence context and into the repository specified bydescriptor
.void
Make an instance managed and persistent.void
persist
(Object entity, Descriptor descriptor) Make an instance managed and persistent.void
Refresh the state of the instance from the data source, overwriting changes made to the entity, if any.void
Remove the entity instance.void
Called from EntityTransaction in case of a rollback.void
setProperty
(String propertyName, Object value) Set an entity manager property or hint.void
Let the managing server session know that a transaction has finished successfully.void
Let the managing server session know that a transaction has been started.<T> T
Return an object of the specified type to allow access to the provider-specific API.
-
Method Details
-
persist
Description copied from interface:EntityManager
Make an instance managed and persistent.The entity is persisted into the default context.
- Specified by:
persist
in interfaceEntityManager
- Parameters:
entity
- entity instance- See Also:
-
persist
Description copied from interface:EntityManager
Make an instance managed and persistent.The
descriptor
represents repository and context into which the entity and its fields should be persisted.- Specified by:
persist
in interfaceEntityManager
- Parameters:
entity
- entity instancedescriptor
- Entity descriptor
-
merge
public <T> T merge(T entity) Description copied from interface:EntityManager
Merge the state of the given entity into the current persistence context.The entity is merged into the default repository context.
- Specified by:
merge
in interfaceEntityManager
- Parameters:
entity
- The entity to merge- Returns:
- the instance that the state was merged to
-
merge
Description copied from interface:EntityManager
Merge the state of the given entity into the current persistence context and into the repository specified bydescriptor
.- Specified by:
merge
in interfaceEntityManager
- Parameters:
entity
- The entity to mergedescriptor
- Entity descriptor- Returns:
- the instance that the state was merged to
-
remove
Description copied from interface:EntityManager
Remove the entity instance.- Specified by:
remove
in interfaceEntityManager
- Parameters:
entity
- The instance to remove
-
find
Description copied from interface:EntityManager
Find by identifier.Search for an entity of the specified class and identifier. If the entity instance is contained in the persistence context, it is returned from there.
- Specified by:
find
in interfaceEntityManager
- Parameters:
cls
- Entity classidentifier
- Entity identifier- Returns:
- the found entity instance or
null
if the entity does not exist in the given ontology context
-
find
Description copied from interface:EntityManager
Find by identifier.Search for an entity of the specified class and identifier. If the entity instance is contained in the persistence context, it is returned from there.
The
descriptor
parameter represents repository and context in which the entity should be looked for.- Specified by:
find
in interfaceEntityManager
- Parameters:
cls
- Entity classidentifier
- Entity identifierdescriptor
- Entity descriptor- Returns:
- the found entity instance or
null
if the entity does not exist in the given ontology context - See Also:
-
getReference
Description copied from interface:EntityManager
Get an instance, whose state may be lazily fetched.If the requested instance does not exist in the database, the
EntityNotFoundException
is thrown when the instance state is first accessed. (The persistence provider runtime is permitted to throw theEntityNotFoundException
when getReference is called.)The application should not expect that the instance state will be available upon detachment, unless it was accessed by the application while the entity manager was open.
- Specified by:
getReference
in interfaceEntityManager
- Parameters:
entityClass
- entity classidentifier
- identifier of the instance- Returns:
- the found entity instance
-
getReference
Description copied from interface:EntityManager
Get an instance, whose state may be lazily fetched.If the requested instance does not exist in the database, the
EntityNotFoundException
is thrown when the instance state is first accessed. (The persistence provider runtime is permitted to throw theEntityNotFoundException
when getReference is called.)The application should not expect that the instance state will be available upon detachment, unless it was accessed by the application while the entity manager was open.
The
descriptor
parameter represents configuration of the entity loading (e.g., repository context).- Specified by:
getReference
in interfaceEntityManager
- Parameters:
entityClass
- entity classidentifier
- identifier of the instancedescriptor
- Entity descriptor- Returns:
- the found entity instance
-
flush
public void flush()Description copied from interface:EntityManager
Synchronize the persistence context to the underlying database.- Specified by:
flush
in interfaceEntityManager
-
refresh
Description copied from interface:EntityManager
Refresh the state of the instance from the data source, overwriting changes made to the entity, if any.- Specified by:
refresh
in interfaceEntityManager
- Parameters:
entity
- The entity instance to refresh
-
clear
public void clear()Description copied from interface:EntityManager
Clear the persistence context, causing all managed entities to become detached. Changes made to entities that have not been flushed to the database will not be persisted.- Specified by:
clear
in interfaceEntityManager
-
detach
Description copied from interface:EntityManager
Remove the given entity from the persistence context, causing a managed entity to become detached. Unflushed changes made to the entity if any (including removal of the entity), will not be synchronized to the database. Entities which previously referenced the detached entity will continue to reference it.- Specified by:
detach
in interfaceEntityManager
- Parameters:
entity
- The instance to detach
-
contains
Description copied from interface:EntityManager
Check if the instance belongs to the current persistence context.- Specified by:
contains
in interfaceEntityManager
- Parameters:
entity
- The instance to check- Returns:
- True if the instance is managed, false otherwise
-
close
public void close()Description copied from interface:EntityManager
Close an application-managed EntityManager. After the close method has been invoked, all methods on the EntityManager instance and any Query objects obtained from it will throw the IllegalStateException except for getTransaction and isOpen (which will return false). If this method is called when the EntityManager is associated with an active transaction, the persistence context remains managed until the transaction completes.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceEntityManager
-
isOpen
public boolean isOpen()Description copied from interface:EntityManager
Determine whether the EntityManager is open.- Specified by:
isOpen
in interfaceEntityManager
- Returns:
- true until the EntityManager has been closed.
-
getTransaction
Description copied from interface:EntityManager
Return the resource-level transaction object. The EntityTransaction instance may be used serially to begin and commit multiple transactions.- Specified by:
getTransaction
in interfaceEntityManager
- Returns:
- EntityTransaction instance
-
getEntityManagerFactory
Description copied from interface:EntityManager
Return the entity manager factory for the entity manager.- Specified by:
getEntityManagerFactory
in interfaceEntityManager
- Returns:
- EntityManagerFactory instance
-
getMetamodel
Description copied from interface:EntityManager
Return an instance of Metamodel interface for access to the metamodel of the persistence unit.- Specified by:
getMetamodel
in interfaceEntityManager
- Returns:
- Metamodel instance
-
isLoaded
- Specified by:
isLoaded
in interfaceAbstractEntityManager
-
isLoaded
- Specified by:
isLoaded
in interfaceAbstractEntityManager
-
createQuery
Description copied from interface:EntityManager
Create an instance of Query for executing a Java Persistence query language statement.- Specified by:
createQuery
in interfaceEntityManager
- Parameters:
qlString
- a Java Persistence query string- Returns:
- the new query instance
-
createQuery
Description copied from interface:EntityManager
Create an instance of TypedQuery for executing a criteria query.- Specified by:
createQuery
in interfaceEntityManager
- Parameters:
criteriaQuery
- criteria query object- Returns:
- the new query instance
-
createQuery
Description copied from interface:EntityManager
Creates an instance of query for executing Java persistence query language statement.- Specified by:
createQuery
in interfaceEntityManager
- Parameters:
query
- query stringresultClass
- result type- Returns:
- the new query instance
-
createNativeQuery
Description copied from interface:EntityManager
Create an instance of Query for executing a native SPARQL(-DL) query in SPARQL syntax.- Specified by:
createNativeQuery
in interfaceEntityManager
- Parameters:
sparqlString
- a native SPARQL query string- Returns:
- the new query instance
-
createNativeQuery
Description copied from interface:EntityManager
Create an instance of Query for executing a native SPARQL(-DL) query returning only specific object type.- Specified by:
createNativeQuery
in interfaceEntityManager
- Parameters:
sparqlString
- a native SQL query stringresultClass
- the class of the resulting instance(s)- Returns:
- the new query instance
-
createNativeQuery
Description copied from interface:EntityManager
Create an instance of Query for executing a native SPARQL query.- Specified by:
createNativeQuery
in interfaceEntityManager
- Parameters:
sparqlString
- a native SQL query stringresultSetMapping
- the name of the result set mapping- Returns:
- the new query instance
-
createNamedQuery
Description copied from interface:EntityManager
Create an instance of Query for executing a named query (in native SPARQL).- Specified by:
createNamedQuery
in interfaceEntityManager
- Parameters:
name
- the name of a query defined in metadata- Returns:
- the new query instance
-
createNamedQuery
Description copied from interface:EntityManager
Create an instance of TypedQuery for executing a SPARQL named query.The select list of the query must contain only a single item, which must be assignable to the type specified by the resultClass argument.
- Specified by:
createNamedQuery
in interfaceEntityManager
- Parameters:
name
- the name of a query defined in metadataresultClass
- the type of the query result- Returns:
- the new query instance
-
isConsistent
Description copied from interface:EntityManager
Checks consistency of the specified context.The context URI can be
null
, which indicates that consistency of the whole repository should be verified.- Specified by:
isConsistent
in interfaceEntityManager
- Parameters:
context
- Context URI, can benull
- Returns:
true
if consistent,false
otherwise
-
getContexts
Description copied from interface:EntityManager
Returns a list of repository contexts available to this entity manager.- Specified by:
getContexts
in interfaceEntityManager
- Returns:
- List of repository context URIs
-
isInferred
Description copied from interface:EntityManager
Checks whether the specified attribute value of the specified entity is inferred in the underlying repository.Note that given the nature of the repository implementation, this method may return true if the corresponding statement is both inferred and asserted. Also note that this method will use the descriptor associated with the specified entity in this persistence context to resolve the repository context, but some underlying repositories do not store inferences in data contexts, so the attribute context may be ignored.
- Specified by:
isInferred
in interfaceEntityManager
- Parameters:
entity
- Entity whose attribute to examine. Must be managed by this persistence contextattribute
- Attribute whose value to examinevalue
- The value whose inference to examine- Returns:
true
if the entity attribute value is inferred,false
otherwise
-
getCriteriaBuilder
Description copied from interface:EntityManager
Return a criteriaFactory for making CriteriaQuery.- Specified by:
getCriteriaBuilder
in interfaceEntityManager
- Returns:
- CriteriaBuilder instance
-
unwrap
Description copied from interface:EntityManager
Return an object of the specified type to allow access to the provider-specific API. If the provider's EntityManager implementation does not support the specified class, theOWLPersistenceException
is thrown.- Specified by:
unwrap
in interfaceEntityManager
- Specified by:
unwrap
in interfaceWrapper
- 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
-
getDelegate
Description copied from interface:EntityManager
Return the underlying provider object for the EntityManager, if available. The result of this method is implementation specific.- Specified by:
getDelegate
in interfaceEntityManager
- Returns:
- underlying provider object for EntityManager
-
finalize
-
getCurrentPersistenceContext
Description copied from interface:AbstractEntityManager
Return the UnitOfWork that holds the current persistence context.- Specified by:
getCurrentPersistenceContext
in interfaceAbstractEntityManager
- Returns:
- UnitOfWork
-
removeCurrentPersistenceContext
public void removeCurrentPersistenceContext()Called from EntityTransaction in case of a rollback. Releasing the UoW is up to the EntityTransaction.- Specified by:
removeCurrentPersistenceContext
in interfaceAbstractEntityManager
-
transactionStarted
Description copied from interface:AbstractEntityManager
Let the managing server session know that a transaction has been started.- Specified by:
transactionStarted
in interfaceAbstractEntityManager
- Parameters:
t
- The entity transaction that was started.
-
transactionFinished
Description copied from interface:AbstractEntityManager
Let the managing server session know that a transaction has finished successfully.- Specified by:
transactionFinished
in interfaceAbstractEntityManager
- Parameters:
t
- The committed entity transaction.
-
getConfiguration
Description copied from interface:ConfigurationHolder
Gets provider configuration.- Specified by:
getConfiguration
in interfaceConfigurationHolder
- Returns:
- Configuration
-
getProperties
Description copied from interface:EntityManager
Get the properties and hints and associated values that are in effect for the entity manager.Changing the contents of the map does not change the configuration in effect.
- Specified by:
getProperties
in interfaceEntityManager
- Returns:
- Map of properties and hints in effect for entity manager
-
setProperty
Description copied from interface:EntityManager
Set an entity manager property or hint.If a vendor-specific property or hint is not recognized, it is silently ignored.
- Specified by:
setProperty
in interfaceEntityManager
- Parameters:
propertyName
- Name of property or hintvalue
- Value for property or hint
-
createDescriptor
Description copied from interface:EntityManager
Creates aDescriptor
for instances of the specified entity class.- Specified by:
createDescriptor
in interfaceEntityManager
- Parameters:
cls
- Entity class to create descriptor for- Returns:
- Entity descriptor
-