@Component(value="cuba_EntityManager") @Scope(value="prototype") public class EntityManagerImpl extends java.lang.Object implements EntityManager
NAME
Modifier and Type | Method and Description |
---|---|
Query |
createNativeQuery()
Create an instance of Query for executing a native SQL statement, e.g., for update or delete.
|
Query |
createNativeQuery(java.lang.String sql)
Create an instance of Query for executing a native SQL statement, e.g., for update or delete.
|
<T extends io.jmix.core.Entity> |
createNativeQuery(java.lang.String sql,
java.lang.Class<T> resultClass)
Create an instance of Query for executing a native SQL statement and map its result to an entity.
|
Query |
createQuery()
Create an instance of Query for executing a Java Persistence query language statement.
|
Query |
createQuery(java.lang.String qlStr)
Create an instance of Query for executing a Java Persistence query language statement.
|
<T> TypedQuery<T> |
createQuery(java.lang.String qlString,
java.lang.Class<T> resultClass)
Create a type-safe instance of Query for executing a Java Persistence query language statement.
|
void |
detach(io.jmix.core.Entity entity) |
void |
fetch(io.jmix.core.Entity entity,
io.jmix.core.FetchPlan fetchPlan)
Deprecated.
|
<T extends io.jmix.core.Entity,K> |
find(java.lang.Class<T> entityClass,
K id)
Find by primary key.
|
<T extends io.jmix.core.Entity,K> |
find(java.lang.Class<T> entityClass,
K id,
io.jmix.core.FetchPlan... fetchPlans)
Find by primary key.
|
<T extends io.jmix.core.Entity,K> |
find(java.lang.Class<T> entityClass,
K id,
java.lang.String... fetchPlanNames)
Find by primary key.
|
void |
flush()
Synchronize the persistence context to the underlying database.
|
java.sql.Connection |
getConnection() |
javax.persistence.EntityManager |
getDelegate() |
<T extends io.jmix.core.Entity,K> |
getReference(java.lang.Class<T> clazz,
K id)
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 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. |
boolean |
isSoftDeletion() |
<T extends io.jmix.core.Entity> |
merge(T entity)
Merge the state of the given entity into the current persistence context.
|
<T extends io.jmix.core.Entity> |
merge(T entity,
io.jmix.core.FetchPlan fetchPlan)
Deprecated.
|
<T extends io.jmix.core.Entity> |
merge(T entity,
java.lang.String fetchPlanName)
Deprecated.
|
void |
persist(io.jmix.core.Entity entity)
Make an instance managed and persistent.
|
<T extends io.jmix.core.Entity,K> |
reload(java.lang.Class<T> entityClass,
K id,
java.lang.String... fetchPlanNames)
DEPRECATED since v.6.
|
<T extends io.jmix.core.Entity> |
reload(T entity,
java.lang.String... fetchPlanNames)
Reload an entity from DB according to a combined fetch plan defined by the given array of fetch plans.
|
<T extends io.jmix.core.Entity> |
reloadNN(T entity,
java.lang.String... fetchPlanNames)
Reload an entity from DB according to a combined fetch plan defined by the given array of fetch plans.
|
void |
remove(io.jmix.core.Entity entity)
Remove the entity instance.
|
void |
setSoftDeletion(boolean softDeletion)
Set SoftDeletion mode for this EntityManager.
|
public javax.persistence.EntityManager getDelegate()
getDelegate
in interface EntityManager
public boolean isSoftDeletion()
isSoftDeletion
in interface EntityManager
public void setSoftDeletion(boolean softDeletion)
EntityManager
setSoftDeletion
in interface EntityManager
softDeletion
- modepublic void persist(io.jmix.core.Entity entity)
EntityManager
persist
in interface EntityManager
entity
- entity instancepublic <T extends io.jmix.core.Entity> T merge(T entity)
EntityManager
If a new or patch entity (see PersistenceHelper
methods) with non-null ID is passed to merge,
EntityManager loads the corresponding object from the database and updates it with non-null values
of attributes of the passed entity. If the object does not exist in the database, the passed entity is persisted
and returned.
merge
in interface EntityManager
entity
- entity instanceEntityStates.isNew(Object)
,
EntityStates.makePatch(Object)
@Deprecated public <T extends io.jmix.core.Entity> T merge(T entity, @Nullable io.jmix.core.FetchPlan fetchPlan)
EntityManager
io.jmix.core.sys.EntityFetcher#fetch(Entity, FetchPlan)
if needed.merge
in interface EntityManager
@Deprecated public <T extends io.jmix.core.Entity> T merge(T entity, @Nullable java.lang.String fetchPlanName)
EntityManager
io.jmix.core.sys.EntityFetcher#fetch(Entity, String)
if needed.merge
in interface EntityManager
public void remove(io.jmix.core.Entity entity)
EntityManager
EntityManager.isSoftDeletion()
flag.remove
in interface EntityManager
entity
- entity instancepublic <T extends io.jmix.core.Entity,K> T find(java.lang.Class<T> entityClass, K id)
EntityManager
find
in interface EntityManager
entityClass
- entity classid
- entity id@Nullable public <T extends io.jmix.core.Entity,K> T find(java.lang.Class<T> entityClass, K id, io.jmix.core.FetchPlan... fetchPlans)
EntityManager
Due to accepting fetch plans, this method actually executes a Query
which may lead to flushing of the
persistence context and invoking listeners on modified entities.
find
in interface EntityManager
entityClass
- entity classid
- entity idfetchPlans
- array of fetch plans@Nullable public <T extends io.jmix.core.Entity,K> T find(java.lang.Class<T> entityClass, K id, java.lang.String... fetchPlanNames)
EntityManager
Due to accepting fetch plans, this method actually executes a Query
which may lead to flushing of the
persistence context and invoking listeners on modified entities.
find
in interface EntityManager
entityClass
- entity classid
- entity idfetchPlanNames
- array of fetch plan names for this entitypublic <T extends io.jmix.core.Entity,K> T getReference(java.lang.Class<T> clazz, K id)
EntityManager
getReference
in interface EntityManager
clazz
- entity classid
- entity idpublic Query createQuery()
EntityManager
createQuery
in interface EntityManager
public Query createQuery(java.lang.String qlStr)
EntityManager
createQuery
in interface EntityManager
qlStr
- a Java Persistence query stringpublic <T> TypedQuery<T> createQuery(java.lang.String qlString, java.lang.Class<T> resultClass)
EntityManager
createQuery
in interface EntityManager
qlString
- a Java Persistence query stringresultClass
- expected result classpublic Query createNativeQuery()
EntityManager
createNativeQuery
in interface EntityManager
public Query createNativeQuery(java.lang.String sql)
EntityManager
createNativeQuery
in interface EntityManager
sql
- a native SQL query stringpublic <T extends io.jmix.core.Entity> TypedQuery<T> createNativeQuery(java.lang.String sql, java.lang.Class<T> resultClass)
EntityManager
createNativeQuery
in interface EntityManager
sql
- a native SQL query stringresultClass
- expected result class@Deprecated public void fetch(io.jmix.core.Entity entity, io.jmix.core.FetchPlan fetchPlan)
EntityManager
fetch
in interface EntityManager
@Nullable public <T extends io.jmix.core.Entity,K> T reload(java.lang.Class<T> entityClass, K id, java.lang.String... fetchPlanNames)
EntityManager
EntityManager.find(Class, Object, String...)
reload
in interface EntityManager
@Nullable public <T extends io.jmix.core.Entity> T reload(T entity, java.lang.String... fetchPlanNames)
EntityManager
reload
in interface EntityManager
entity
- entity instance to reloadfetchPlanNames
- array of fetch plan namespublic <T extends io.jmix.core.Entity> T reloadNN(T entity, java.lang.String... fetchPlanNames)
EntityManager
reloadNN
in interface EntityManager
entity
- entity instance to reloadfetchPlanNames
- array of fetch plan namespublic void flush()
EntityManager
flush
in interface EntityManager
public void detach(io.jmix.core.Entity entity)
detach
in interface EntityManager
public java.sql.Connection getConnection()
getConnection
in interface EntityManager
Don't close this connection after use, it will be automatically closed on transaction end.