Class TenantHibernatePersistenceService
- java.lang.Object
-
- org.bonitasoft.engine.persistence.AbstractDBPersistenceService
-
- org.bonitasoft.engine.persistence.AbstractHibernatePersistenceService
-
- org.bonitasoft.engine.persistence.TenantHibernatePersistenceService
-
- All Implemented Interfaces:
ReadPersistenceService,PersistenceService,TenantPersistenceService
public class TenantHibernatePersistenceService extends AbstractHibernatePersistenceService
- Author:
- Baptiste Mesta, Nicolas Chabanoles, Yanyan Liu, Matthieu Chaffotte, Celine Souchet
-
-
Field Summary
-
Fields inherited from class org.bonitasoft.engine.persistence.AbstractDBPersistenceService
datasource
-
-
Constructor Summary
Constructors Constructor Description TenantHibernatePersistenceService(java.lang.String name, ReadSessionAccessor sessionAccessor, HibernateConfigurationProvider hbmConfigurationProvider, java.util.Properties extraHibernateProperties, SequenceManager sequenceManager, javax.sql.DataSource datasource, HibernateMetricsBinder hibernateMetricsBinder, QueryBuilderFactory queryBuilderFactory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddelete(PersistentObject entity)Delete a record from the table by given persistentObject.voiddeleteByTenant(java.lang.Class<? extends PersistentObject> entityClass, java.util.List<FilterOption> filters)Delete all elements of a specific table for a specific tenantvoidflushStatements()protected org.slf4j.LoggergetLogger()protected org.hibernate.SessiongetSession(boolean useTenant)protected longgetTenantId()voidinsert(PersistentObject entity)Add a record into the table by given persistentObject.voidinsertInBatch(java.util.List<? extends PersistentObject> entities)protected voidsetTenant(PersistentObject entity)protected voidupdateTenantFilter(org.hibernate.Session session, boolean useTenant)-
Methods inherited from class org.bonitasoft.engine.persistence.AbstractHibernatePersistenceService
delete, delete, deleteAll, destroy, getClassAliasMappings, getSessionFactory, selectById, selectList, selectOne, setId, update, update, update
-
Methods inherited from class org.bonitasoft.engine.persistence.AbstractDBPersistenceService
getName, getNumberOfEntities, getNumberOfEntities, getSequenceManager, searchEntity, searchEntity
-
-
-
-
Constructor Detail
-
TenantHibernatePersistenceService
public TenantHibernatePersistenceService(java.lang.String name, ReadSessionAccessor sessionAccessor, HibernateConfigurationProvider hbmConfigurationProvider, java.util.Properties extraHibernateProperties, SequenceManager sequenceManager, javax.sql.DataSource datasource, HibernateMetricsBinder hibernateMetricsBinder, QueryBuilderFactory queryBuilderFactory) throws java.lang.Exception- Throws:
java.lang.Exception
-
-
Method Detail
-
updateTenantFilter
protected void updateTenantFilter(org.hibernate.Session session, boolean useTenant) throws SPersistenceException- Throws:
SPersistenceException
-
setTenant
protected void setTenant(PersistentObject entity) throws SPersistenceException
- Throws:
SPersistenceException
-
getSession
protected org.hibernate.Session getSession(boolean useTenant) throws SPersistenceException- Overrides:
getSessionin classAbstractHibernatePersistenceService- Throws:
SPersistenceException
-
flushStatements
public void flushStatements() throws SPersistenceException- Throws:
SPersistenceException
-
delete
public void delete(PersistentObject entity) throws SPersistenceException
Description copied from interface:PersistenceServiceDelete a record from the table by given persistentObject.- Specified by:
deletein interfacePersistenceService- Overrides:
deletein classAbstractHibernatePersistenceService- Throws:
SPersistenceException
-
insert
public void insert(PersistentObject entity) throws SPersistenceException
Description copied from interface:PersistenceServiceAdd a record into the table by given persistentObject.- Specified by:
insertin interfacePersistenceService- Overrides:
insertin classAbstractHibernatePersistenceService- Throws:
SPersistenceException
-
insertInBatch
public void insertInBatch(java.util.List<? extends PersistentObject> entities) throws SPersistenceException
- Specified by:
insertInBatchin interfacePersistenceService- Overrides:
insertInBatchin classAbstractHibernatePersistenceService- Throws:
SPersistenceException
-
getLogger
protected org.slf4j.Logger getLogger()
- Specified by:
getLoggerin classAbstractDBPersistenceService
-
getTenantId
protected long getTenantId() throws STenantIdNotSetException- Specified by:
getTenantIdin classAbstractDBPersistenceService- Returns:
- Throws:
STenantIdNotSetException
-
deleteByTenant
public void deleteByTenant(java.lang.Class<? extends PersistentObject> entityClass, java.util.List<FilterOption> filters) throws SPersistenceException
Description copied from interface:PersistenceServiceDelete all elements of a specific table for a specific tenant- Parameters:
entityClass- Entity class corresponding to the table to emptyfilters- Filters- Throws:
SPersistenceException
-
-