public class JbpmServicesPersistenceManagerImpl extends Object implements JbpmServicesPersistenceManager
An EntityManager is an inexpensive, non-threadsafe object that should be used once, for a single business process, a single unit of work, and then discarded. An EntityManager will not obtain a JDBC Connection (or a Datasource) unless it is needed, so you may safely open and close an EntityManager even if you are not sure that data access will be needed to serve a particular request.This class is a wrapper around the entity manager that handles all persistence operations. This way, the persistence functionality can be isolated from the human-task server functionality. This class is only mean to be used in one thread: with every request handled by the human-task server, a TaskServiceSession is created with an instance of this class. Once the request has been handled, the TaskServiceSession instance and the TaskPersistenceManager instance are disposed of.
Modifier and Type | Field and Description |
---|---|
static String |
FIRST_RESULT |
static String |
MAX_RESULTS |
Constructor and Description |
---|
JbpmServicesPersistenceManagerImpl() |
Modifier and Type | Method and Description |
---|---|
HashMap<String,Object> |
addParametersToMap(Object... parameterValues) |
boolean |
beginTransaction() |
void |
dispose() |
void |
endPersistenceContext() |
void |
endTransaction(boolean txOwner) |
int |
executeUpdateString(String updateString) |
<T> T |
find(Class<T> entityClass,
Object primaryKey)
Find method is explicitly left without managing transaction to avoid
huge overhead it introduces with heavy load and it only attaches to
persistence context to be part of transaction that is managed outside.
|
javax.persistence.EntityManager |
getEm() |
javax.persistence.EntityManagerFactory |
getEmf() |
protected javax.persistence.EntityManager |
getLocalEntityManager() |
boolean |
hasTransactionManager() |
boolean |
isSharedEntityManager() |
<T> T |
merge(T entity) |
void |
persist(Object entity) |
Object |
queryAndLockStringWithParametersInTransaction(String queryString,
Map<String,Object> params,
boolean singleResult) |
Object |
queryAndLockWithParametersInTransaction(String queryName,
Map<String,Object> params,
boolean singleResult) |
Object |
queryInTransaction(String queryName) |
Object |
queryStringInTransaction(String queryString) |
Object |
queryStringWithParametersInTransaction(String queryString,
Map<String,Object> params) |
Object |
queryWithParametersInTransaction(String queryName,
Map<String,Object> params)
It is strongly suggested that you only use this method within a transaction!!
|
Object |
queryWithParametersInTransaction(String queryName,
Map<String,Object> params,
boolean singleResult)
This method runs a query within a transaction and returns the result.
|
void |
remove(Object entity) |
void |
rollBackTransaction(boolean txOwner) |
void |
setEm(javax.persistence.EntityManager em) |
void |
setEmf(javax.persistence.EntityManagerFactory emf) |
void |
setTransactionManager(JbpmServicesTransactionManager ttxm) |
void |
setUseSharedEntityManager(boolean sharedEntityManager) |
public static final String FIRST_RESULT
public static final String MAX_RESULTS
public javax.persistence.EntityManagerFactory getEmf()
public void setUseSharedEntityManager(boolean sharedEntityManager)
public boolean isSharedEntityManager()
public void setEm(javax.persistence.EntityManager em)
public void setEmf(javax.persistence.EntityManagerFactory emf)
public void setTransactionManager(JbpmServicesTransactionManager ttxm)
public boolean hasTransactionManager()
public int executeUpdateString(String updateString)
executeUpdateString
in interface JbpmServicesPersistenceManager
public <T> T find(Class<T> entityClass, Object primaryKey)
find
in interface JbpmServicesPersistenceManager
public void remove(Object entity)
remove
in interface JbpmServicesPersistenceManager
public void persist(Object entity)
persist
in interface JbpmServicesPersistenceManager
public <T> T merge(T entity)
merge
in interface JbpmServicesPersistenceManager
public Object queryAndLockStringWithParametersInTransaction(String queryString, Map<String,Object> params, boolean singleResult)
queryAndLockStringWithParametersInTransaction
in interface JbpmServicesPersistenceManager
public Object queryStringWithParametersInTransaction(String queryString, Map<String,Object> params)
queryStringWithParametersInTransaction
in interface JbpmServicesPersistenceManager
public Object queryStringInTransaction(String queryString)
queryStringInTransaction
in interface JbpmServicesPersistenceManager
public boolean beginTransaction()
beginTransaction
in interface JbpmServicesPersistenceManager
public void endTransaction(boolean txOwner)
endTransaction
in interface JbpmServicesPersistenceManager
public void rollBackTransaction(boolean txOwner)
rollBackTransaction
in interface JbpmServicesPersistenceManager
public void dispose()
dispose
in interface JbpmServicesPersistenceManager
public void endPersistenceContext()
public javax.persistence.EntityManager getEm()
protected javax.persistence.EntityManager getLocalEntityManager()
public Object queryWithParametersInTransaction(String queryName, Map<String,Object> params, boolean singleResult)
TaskServiceSession#doOperationInTransaction
.
If you change the logic here, please make sure to change the logic there as well (and vice versa).queryName
- params
- public Object queryAndLockWithParametersInTransaction(String queryName, Map<String,Object> params, boolean singleResult)
queryAndLockWithParametersInTransaction
in interface JbpmServicesPersistenceManager
public Object queryWithParametersInTransaction(String queryName, Map<String,Object> params)
JbpmServicesPersistenceManager
queryWithParametersInTransaction
in interface JbpmServicesPersistenceManager
public Object queryInTransaction(String queryName)
queryInTransaction
in interface JbpmServicesPersistenceManager
public HashMap<String,Object> addParametersToMap(Object... parameterValues)
addParametersToMap
in interface JbpmServicesPersistenceManager
Copyright © 2001-2014 JBoss by Red Hat. All Rights Reserved.