Interface BusinessDataRepository
- All Superinterfaces:
LifecycleService,TenantLifecycleService
- All Known Implementing Classes:
JPABusinessDataRepositoryImpl
The BusinessDataRepository service allows to manage Business Data operations. It includes deploy / undeploy of a
Business Data Model, search / find / create
/ update of Business Data entity objects.
- Author:
- Matthieu Chaffotte, Emmanuel Duchastenier
- See Also:
-
Entity
-
Method Summary
Modifier and TypeMethodDescription<T extends Serializable>
TFinds an Entity that is defined in a deployed Business Data Model, through JPQL query.<T extends org.bonitasoft.engine.bdm.Entity>
TFinds an Entity that is defined in a deployed Business Data Model.<T extends org.bonitasoft.engine.bdm.Entity>
List<T>findByIdentifiers(Class<T> entityClass, List<Long> primaryKeys) Finds (well-loaded) entities that is defined in a deployed Business Data Model.<T extends org.bonitasoft.engine.bdm.Entity>
List<T>Finds entities that is defined in a deployed Business Data Model.<T extends Serializable>
TfindByNamedQuery(String queryName, Class<T> resultClass, Map<String, Serializable> parameters) <T extends Serializable>
List<T>findList(Class<T> resultClass, String jpqlQuery, Map<String, Serializable> parameters, int startIndex, int maxResults) <T extends Serializable>
List<T>findListByNamedQuery(String queryName, Class<T> resultClass, Map<String, Serializable> parameters, int startIndex, int maxResults) Retrieves theSetof known Entity class names in this Business Data Repository.org.bonitasoft.engine.bdm.Entitymerge(org.bonitasoft.engine.bdm.Entity entity) Reconnect the given entity with the persistence unitvoidpersist(org.bonitasoft.engine.bdm.Entity entity) Saves or updates an entity in the Business Data Repository.voidremove(org.bonitasoft.engine.bdm.Entity entity) Removes an entity from the Business Data Repository.org.bonitasoft.engine.bdm.Entityunwrap(org.bonitasoft.engine.bdm.Entity wrapped) Unwraps the Entity if necessary.Methods inherited from interface org.bonitasoft.engine.commons.LifecycleService
pause, resume, start, stopMethods inherited from interface org.bonitasoft.engine.commons.TenantLifecycleService
init
-
Method Details
-
findById
<T extends org.bonitasoft.engine.bdm.Entity> T findById(Class<T> entityClass, Long primaryKey) throws SBusinessDataNotFoundException Finds an Entity that is defined in a deployed Business Data Model.- Parameters:
entityClass- the class of the entity to search for.primaryKey- the primary key to search by.- Returns:
- the found entity, if any.
- Throws:
SBusinessDataNotFoundException- if the Business Data could not be found with the provided primary key.
-
findByIds
<T extends org.bonitasoft.engine.bdm.Entity> List<T> findByIds(Class<T> entityClass, List<Long> primaryKeys) Finds entities that is defined in a deployed Business Data Model. If a primary key does not match an existing entity no exception is thrown and nothing is added in the list.- Parameters:
entityClass- the class of the entity to search for.primaryKeys- the primary keys.- Returns:
- the list of found entities
-
findByIdentifiers
<T extends org.bonitasoft.engine.bdm.Entity> List<T> findByIdentifiers(Class<T> entityClass, List<Long> primaryKeys) Finds (well-loaded) entities that is defined in a deployed Business Data Model. If a primary key does not match an existing entity no exception is thrown and nothing is added in the list.- Parameters:
entityClass- the class of the entity to search for.primaryKeys- the primary keys.- Returns:
- the list of found entities
-
find
<T extends Serializable> T find(Class<T> resultClass, String jpqlQuery, Map<String, Serializable> parameters) throws NonUniqueResultExceptionFinds an Entity that is defined in a deployed Business Data Model, through JPQL query.- Parameters:
resultClass- the class of the entity to search for.jpqlQuery- the JPQL query string to search the entity.parameters- the parameters needed to execute the query.- Returns:
- the found entity, if any.
- Throws:
SBusinessDataNotFoundException- if the Business Data could not be found with the provided primary key.NonUniqueResultException- if more than one result was found.
-
findList
<T extends Serializable> List<T> findList(Class<T> resultClass, String jpqlQuery, Map<String, Serializable> parameters, int startIndex, int maxResults) -
findByNamedQuery
<T extends Serializable> T findByNamedQuery(String queryName, Class<T> resultClass, Map<String, Serializable> parameters) throws NonUniqueResultException- Throws:
NonUniqueResultException
-
findListByNamedQuery
<T extends Serializable> List<T> findListByNamedQuery(String queryName, Class<T> resultClass, Map<String, Serializable> parameters, int startIndex, int maxResults) -
persist
void persist(org.bonitasoft.engine.bdm.Entity entity) Saves or updates an entity in the Business Data Repository.- Parameters:
entity- the entity to save / update.
-
remove
void remove(org.bonitasoft.engine.bdm.Entity entity) Removes an entity from the Business Data Repository.- Parameters:
entity- the entity to remove.
-
merge
org.bonitasoft.engine.bdm.Entity merge(org.bonitasoft.engine.bdm.Entity entity) Reconnect the given entity with the persistence unit- Parameters:
entity- the entity to reconnect.- Returns:
- the connected entity.
-
getEntityClassNames
Retrieves theSetof known Entity class names in this Business Data Repository.- Returns:
- the
Setof known Entity class names, as qualified class names.
-
unwrap
org.bonitasoft.engine.bdm.Entity unwrap(org.bonitasoft.engine.bdm.Entity wrapped) Unwraps the Entity if necessary.- Parameters:
wrapped- the potential wrapped entity- Returns:
- the unwrapped entity
-