Interface IIvyEntityManager
-
public interface IIvyEntityManager
An Interface which offers all persistence methods to an process developer. This interface is similar to theEntityManager
but is more easy to use. It is not necessary to begin first an transaction before persist an entity or do some other operations. This means the Transaction is managed itself by this entity manager. It also supports detached entities for all operations, theEntityManager
supports only detached entities for the methodEntityManager.merge(Object)
.An
IIvyEntityManager
instance is associated with a persistence context. A persistence context is a set of entity instances in which for any persistent entity identity there is a unique entity instance. Within the persistence context, the entity instances and their lifecycle are managed. This interface defines the methods that are used to interact with the persistence context. TheIIvyEntityManager
API is used to create and remove persistent entity instances, to find entities by their primary key, and to query over entities.- Since:
- 03.04.2008
- API:
- This is a public API.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description javax.persistence.EntityManager
createEntityManager()
Create a new EntityManager.javax.persistence.EntityManager
createEntityManager(Map<?,?> properties)
Create a new EntityManager with the specified Map of properties.IIvyQuery
createNamedQuery(String name)
Create an instance of Query for executing a named query (in the Java Persistence query language or in native SQL).IIvyQuery
createNativeQuery(String sqlString)
Create an instance of Query for executing a native SQL statement, e.g., for update or delete.IIvyQuery
createNativeQuery(String sqlString, Class resultClass)
Create an instance of Query for executing a native SQL query.IIvyQuery
createNativeQuery(String sqlString, String resultSetMapping)
Create an instance of Query for executing a native SQL query.IIvyQuery
createQuery(String qlString)
Create an instance of Query for executing a Java Persistence query language statement.<T> T
find(Class<T> entityClass, Object primaryKey)
Find an entity by the given primary key on the database<T> List<T>
findAll(Class<T> entityClass)
Find all entities instances of the given type on the database<T> T
merge(T entity)
Merge the state of the given entity into the database<T> T
persist(T entity)
Make an entity instance persistent in the database<T> T
refresh(T entity)
Refresh the state of the instance from the database, overwriting changes made to the entity, if any.<T> T
remove(T entity)
Remove the given entity instance from the database
-
-
-
Method Detail
-
find
<T> T find(Class<T> entityClass, Object primaryKey)
Find an entity by the given primary key on the database- Type Parameters:
T
- the type of the entity- Parameters:
entityClass
- the type of the entityprimaryKey
- the primary key of the entity- Returns:
- the found entity instance or
null
if the entity does not exist - Throws:
IllegalArgumentException
- if the first argument does not denote an entity type or the second argument is not a valid type for that entity's primary key- See Also:
EntityManager.find(Class, Object)
- API:
- This public API is available in IvyScript and Java. It has the visibility NOVICE.
-
findAll
<T> List<T> findAll(Class<T> entityClass)
Find all entities instances of the given type on the database- Type Parameters:
T
- the type of the entities- Parameters:
entityClass
- the type of the entities- Returns:
- a list of the found entity instances
- Throws:
IllegalArgumentException
- if the first argument does not denote an entity type- See Also:
EntityManager.find(Class, Object)
- API:
- This public API is available in IvyScript and Java. It has the visibility NOVICE.
-
persist
<T> T persist(T entity)
Make an entity instance persistent in the database- Type Parameters:
T
- the type of the entity- Parameters:
entity
- the entity instance which will be persistent, this object will be directly modified- Returns:
- the persistent entity instance, it is the same object as the given entity
- Throws:
javax.persistence.EntityExistsException
- if the entity already exists. (The EntityExistsException may be thrown when the persist operation is invoked, or the EntityExistsException or another PersistenceException may be thrown at flush or commit time.)IllegalArgumentException
- if not an entity- See Also:
EntityManager.persist(Object)
- API:
- This public API is available in IvyScript and Java. It has the visibility NOVICE.
-
merge
<T> T merge(T entity)
Merge the state of the given entity into the database- Type Parameters:
T
- the type of the entity- Parameters:
entity
- the entity instance which will be merged, this object is not changed- Returns:
- the merged entity instance, is not the same object as the given entity
- Throws:
IllegalArgumentException
- if instance is not an entity or is a removed entity- See Also:
EntityManager.merge(Object)
- API:
- This public API is available in IvyScript and Java. It has the visibility NOVICE.
-
refresh
<T> T refresh(T entity)
Refresh the state of the instance from the database, overwriting changes made to the entity, if any.- Type Parameters:
T
- the type of the entity- Parameters:
entity
- the entity instance which will be refreshed, this object will be directly modified- Returns:
- the refreshed entity instance, it is the same object as the given entity
- Throws:
IllegalArgumentException
- if not an entity or entity is not managedjavax.persistence.EntityNotFoundException
- if the entity no longer exists in the database.- See Also:
EntityManager.refresh(Object)
- API:
- This public API is available in IvyScript and Java. It has the visibility NOVICE.
-
remove
<T> T remove(T entity)
Remove the given entity instance from the database- Type Parameters:
T
- the type of the entity- Parameters:
entity
- the entity instance which will be removed, the entity is not modified- Returns:
- the removed entity instance, the same object as the given entity
- Throws:
IllegalArgumentException
- if not an entity- See Also:
EntityManager.remove(Object)
- API:
- This public API is available in IvyScript and Java. It has the visibility NOVICE.
-
createQuery
IIvyQuery createQuery(String qlString)
Create an instance of Query for executing a Java Persistence query language statement.- Parameters:
qlString
- a Java Persistence query language query string- Returns:
- the new query instance
- Throws:
IllegalArgumentException
- if query string is not valid- API:
- This public API is available in IvyScript and Java. It has the visibility NOVICE.
-
createNamedQuery
IIvyQuery createNamedQuery(String name)
Create an instance of Query for executing a named query (in the Java Persistence query language or in native SQL).- Parameters:
name
- the name of a query defined in metadata- Returns:
- the new query instance
- Throws:
IllegalArgumentException
- if a query has not been defined with the given name- API:
- This public API is available in IvyScript and Java. It has the visibility EXPERT.
-
createNativeQuery
IIvyQuery createNativeQuery(String sqlString)
Create an instance of Query for executing a native SQL statement, e.g., for update or delete.- Parameters:
sqlString
- a native SQL query string- Returns:
- the new query instance
- API:
- This public API is available in IvyScript and Java. It has the visibility EXPERT.
-
createNativeQuery
IIvyQuery createNativeQuery(String sqlString, Class resultClass)
Create an instance of Query for executing a native SQL query.- Parameters:
sqlString
- a native SQL query stringresultClass
- the class of the resulting instance(s)- Returns:
- the new query instance
- API:
- This public API is available in IvyScript and Java. It has the visibility EXPERT.
-
createNativeQuery
IIvyQuery createNativeQuery(String sqlString, String resultSetMapping)
Create an instance of Query for executing a native SQL query.- Parameters:
sqlString
- a native SQL query stringresultSetMapping
- the name of the result set mapping- Returns:
- the new query instance
- API:
- This public API is available in IvyScript and Java. It has the visibility EXPERT.
-
createEntityManager
javax.persistence.EntityManager createEntityManager()
Create a new EntityManager. This method returns a new EntityManager instance each time it is invoked. The isOpen method will return true on the returned instance.- Returns:
- a new
EntityManager
instance - See Also:
EntityManager
- API:
- This public API is available in IvyScript and Java. It has the visibility EXPERT.
-
createEntityManager
javax.persistence.EntityManager createEntityManager(Map<?,?> properties)
Create 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.- Parameters:
properties
- a map of additional properties- Returns:
- a new
EntityManager
instance - See Also:
EntityManager
- API:
- This public API is available in IvyScript and Java. It has the visibility EXPERT.
-
-