Class DefaultJpaOperations
java.lang.Object
org.springframework.integration.jpa.core.DefaultJpaOperations
- All Implemented Interfaces:
InitializingBean,JpaOperations
public class DefaultJpaOperations extends Object
Class similar to JPA template limited to the operations required for the JPA adapters/gateway
not using JpaTemplate as the class is deprecated since Spring 3.1.
- Since:
- 2.2
- Author:
- Amol Nayak, Gunnar Hillert, Artem Bilan
-
Constructor Summary
Constructors Constructor Description DefaultJpaOperations() -
Method Summary
Modifier and Type Method Description voidafterPropertiesSet()voiddelete(Object entity)voiddeleteInBatch(Iterable<?> entities)intexecuteUpdate(String updateQuery, ParameterSource source)Executes the given update statement and uses the given parameter source to set the required query parameters.intexecuteUpdateWithNamedQuery(String updateQuery, ParameterSource source)intexecuteUpdateWithNativeQuery(String updateQuery, ParameterSource source)<T> Tfind(Class<T> entityType, Object id)Find an Entity of given type with the given primary key type.voidflush()ExecutesEntityManager.flush().protected javax.persistence.EntityManagergetEntityManager()List<?>getResultListForClass(Class<?> entityClass, int firstResult, int maxNumberOfResults)List<?>getResultListForNamedQuery(String selectNamedQuery, ParameterSource parameterSource, int firstResult, int maxNumberOfResults)List<?>getResultListForNativeQuery(String selectQuery, Class<?> entityClass, ParameterSource parameterSource, int firstResult, int maxNumberOfResults)List<?>getResultListForQuery(String query, ParameterSource source)Executes the provided query to return a list of resultsList<?>getResultListForQuery(String queryString, ParameterSource source, int firstResult, int maxNumberOfResults)Executes the provided query to return a list of results.ObjectgetSingleResultForQuery(String queryString, ParameterSource source)Executes the provided query to return a single elementObjectmerge(Object entity)The entity to be merged with theEntityManager.Objectmerge(Object entity, int flushSize, boolean clearOnFlush)The entity to be merged with theEntityManager.protected voidonInit()Subclasses may implement this for initialization logic.voidpersist(Object entity)Persists the entity.voidpersist(Object entity, int flushSize, boolean clearOnFlush)Persists the entity.voidsetEntityManager(javax.persistence.EntityManager entityManager)voidsetEntityManagerFactory(javax.persistence.EntityManagerFactory entityManagerFactory)
-
Constructor Details
-
DefaultJpaOperations
public DefaultJpaOperations()
-
-
Method Details
-
delete
- Parameters:
entity- The entity to delete.
-
deleteInBatch
- Parameters:
entities- The entities to delete.
-
executeUpdate
Description copied from interface:JpaOperationsExecutes the given update statement and uses the given parameter source to set the required query parameters.- Parameters:
updateQuery- Must Not be empty.source- Must Not be null.- Returns:
- The number of entities updated
-
executeUpdateWithNamedQuery
- Parameters:
updateQuery- The update query.source- The parameter source.- Returns:
- The number of entities updated.
-
executeUpdateWithNativeQuery
- Parameters:
updateQuery- The update query.source- The parameter source.- Returns:
- The number of entities updated
-
find
Description copied from interface:JpaOperationsFind an Entity of given type with the given primary key type.- Type Parameters:
T- The type to return.- Parameters:
entityType- The type.id- The object identifier.- Returns:
- The entity if it exists, null otherwise.
-
getResultListForClass
public List<?> getResultListForClass(Class<?> entityClass, int firstResult, int maxNumberOfResults)- Parameters:
entityClass- The entity class.firstResult- The index of the first result to return.maxNumberOfResults- The number of objects to return.- Returns:
- The list of found entities.
-
getResultListForNamedQuery
public List<?> getResultListForNamedQuery(String selectNamedQuery, ParameterSource parameterSource, int firstResult, int maxNumberOfResults)- Parameters:
selectNamedQuery- The select named query.parameterSource- The paramter source.firstResult- The index of the first result to return.maxNumberOfResults- The number of objects to return.- Returns:
- The list of found entities.
-
getResultListForNativeQuery
public List<?> getResultListForNativeQuery(String selectQuery, @Nullable Class<?> entityClass, ParameterSource parameterSource, int firstResult, int maxNumberOfResults)- Parameters:
selectQuery- The select query.entityClass- The entity class.parameterSource- The parameter source.firstResult- The index of the first result to return.maxNumberOfResults- The number of objects to return.- Returns:
- The list of found entities.
-
getResultListForQuery
Description copied from interface:JpaOperationsExecutes the provided query to return a list of results- Parameters:
query- The query.source- the Parameter source for this query to be executed, if none then set as null- Returns:
- The list of found entities.
-
getResultListForQuery
public List<?> getResultListForQuery(String queryString, ParameterSource source, int firstResult, int maxNumberOfResults)Description copied from interface:JpaOperationsExecutes the provided query to return a list of results.- Parameters:
queryString- Must not be null or emptysource- the Parameter source for this query to be executed, if none then set null.firstResult- The first result.maxNumberOfResults- Must be a non-negative value, any negative or zero will be ignored.- Returns:
- The list of found entities.
-
getSingleResultForQuery
Description copied from interface:JpaOperationsExecutes the provided query to return a single element- Parameters:
queryString- Must not be emptysource- the Parameter source for this query to be executed, if none then set as null- Returns:
- Will always return a result. If no object was found in the database an exception is raised.
-
merge
Description copied from interface:JpaOperationsThe entity to be merged with theEntityManager. The provided object can also be anIterablein which case each object of theIterableis treated as an entity and merged with theEntityManager.Nullvalues returned while iterating over theIterableare ignored.- Parameters:
entity- Must not be null.- Returns:
- The merged managed instance of the entity.
-
merge
Description copied from interface:JpaOperationsThe entity to be merged with theEntityManager. The provided object can also be anIterablein which case each object of theIterableis treated as an entity and merged with theEntityManager. In addition theEntityManager.flush()is called after the merge and after each batch, as it is specified usingflushSizeparameter and if provided object isIterable.clearOnFlushparameter specifies, if theEntityManager.clear()should be called after eachEntityManager.flush().- Parameters:
entity- The entity.flushSize- The flush size.clearOnFlush- true to clear after flushing.- Returns:
- The merged object.
-
persist
Description copied from interface:JpaOperationsPersists the entity. The provided object can also be anIterablein which case each object of theIterableis treated as an entity and persisted with theEntityManager.Nullvalues returned while iterating over theIterableare ignored.- Parameters:
entity- Must not be null
-
persist
Description copied from interface:JpaOperationsPersists the entity. The provided object can also be anIterablein which case each object of theIterableis treated as an entity and persisted with theEntityManager.Nullvalues returned while iterating over theIterableare ignored. In addition theEntityManager.flush()is called after the persist and after each batch, as it is specified usingflushSizeparameter and if provided object isIterable.clearOnFlushparameter specifies, if theEntityManager.clear()should be called after eachEntityManager.flush().- Parameters:
entity- The entity.flushSize- The flush size.clearOnFlush- true to clear after flushing.
-
setEntityManager
public void setEntityManager(javax.persistence.EntityManager entityManager) -
getEntityManager
protected javax.persistence.EntityManager getEntityManager() -
setEntityManagerFactory
public void setEntityManagerFactory(javax.persistence.EntityManagerFactory entityManagerFactory) -
afterPropertiesSet
public final void afterPropertiesSet()- Specified by:
afterPropertiesSetin interfaceInitializingBean
-
onInit
protected void onInit()Subclasses may implement this for initialization logic. -
flush
public void flush()Description copied from interface:JpaOperationsExecutesEntityManager.flush().- Specified by:
flushin interfaceJpaOperations
-