org.jbpm.shared.services.impl
Class JbpmServicesPersistenceManagerImpl
java.lang.Object
org.jbpm.shared.services.impl.JbpmServicesPersistenceManagerImpl
- All Implemented Interfaces:
- JbpmServicesPersistenceManager
public class JbpmServicesPersistenceManagerImpl
- extends Object
- implements JbpmServicesPersistenceManager
From the Hibernate docs:
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.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
FIRST_RESULT
public static final String FIRST_RESULT
- See Also:
- Constant Field Values
MAX_RESULTS
public static final String MAX_RESULTS
- See Also:
- Constant Field Values
JbpmServicesPersistenceManagerImpl
public JbpmServicesPersistenceManagerImpl()
getEmf
public javax.persistence.EntityManagerFactory getEmf()
setUseSharedEntityManager
public void setUseSharedEntityManager(boolean sharedEntityManager)
isSharedEntityManager
public boolean isSharedEntityManager()
setEm
public void setEm(javax.persistence.EntityManager em)
setTransactionManager
public void setTransactionManager(JbpmServicesTransactionManager ttxm)
hasTransactionManager
public boolean hasTransactionManager()
executeUpdateString
public int executeUpdateString(String updateString)
- Specified by:
executeUpdateString
in interface JbpmServicesPersistenceManager
find
public <T> T find(Class<T> entityClass,
Object primaryKey)
- Specified by:
find
in interface JbpmServicesPersistenceManager
remove
public void remove(Object entity)
- Specified by:
remove
in interface JbpmServicesPersistenceManager
persist
public void persist(Object entity)
- Specified by:
persist
in interface JbpmServicesPersistenceManager
merge
public <T> T merge(T entity)
- Specified by:
merge
in interface JbpmServicesPersistenceManager
queryStringWithParametersInTransaction
public Object queryStringWithParametersInTransaction(String queryString,
Map<String,Object> params)
- Specified by:
queryStringWithParametersInTransaction
in interface JbpmServicesPersistenceManager
queryStringInTransaction
public Object queryStringInTransaction(String queryString)
- Specified by:
queryStringInTransaction
in interface JbpmServicesPersistenceManager
beginTransaction
public boolean beginTransaction()
endTransaction
public void endTransaction(boolean txOwner)
rollBackTransaction
public void rollBackTransaction(boolean txOwner)
dispose
public void dispose()
- Specified by:
dispose
in interface JbpmServicesPersistenceManager
endPersistenceContext
public void endPersistenceContext()
getEm
public javax.persistence.EntityManager getEm()
queryWithParametersInTransaction
public Object queryWithParametersInTransaction(String queryName,
Map<String,Object> params,
boolean singleResult)
- This method runs a query within a transaction and returns the result.
This logic is unfortunately duplicated in
TaskServiceSession#doOperationInTransaction
.
If you change the logic here, please make sure to change the logic there as well (and vice versa).
- Parameters:
queryName
- params
-
- Returns:
queryWithParametersInTransaction
public Object queryWithParametersInTransaction(String queryName,
Map<String,Object> params)
- Description copied from interface:
JbpmServicesPersistenceManager
- It is strongly suggested that you only use this method within a transaction!!
PostgreSQL and DB2 are 2 databases which, depending on your situation, will probably require this.
- Specified by:
queryWithParametersInTransaction
in interface JbpmServicesPersistenceManager
- Returns:
- The result of the query.
queryInTransaction
public Object queryInTransaction(String queryName)
- Specified by:
queryInTransaction
in interface JbpmServicesPersistenceManager
addParametersToMap
public HashMap<String,Object> addParametersToMap(Object... parameterValues)
- Specified by:
addParametersToMap
in interface JbpmServicesPersistenceManager
Copyright © 2001-2013 JBoss by Red Hat. All Rights Reserved.