Class DefaultJpaOperations
java.lang.Object
org.springframework.integration.jpa.core.DefaultJpaOperations
- All Implemented Interfaces:
InitializingBean
,JpaOperations
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
-
Method Summary
Modifier and TypeMethodDescriptionfinal void
void
void
deleteInBatch
(Iterable<?> entities) int
executeUpdate
(String updateQuery, ParameterSource source) Executes the given update statement and uses the given parameter source to set the required query parameters.int
executeUpdateWithNamedQuery
(String updateQuery, ParameterSource source) int
executeUpdateWithNativeQuery
(String updateQuery, ParameterSource source) <T> T
Find an Entity of given type with the given primary key type.void
flush()
ExecutesEntityManager.flush()
.protected EntityManager
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) Execute the provided query to return a list of results.List<?>
getResultListForQuery
(String queryString, ParameterSource source, int firstResult, int maxNumberOfResults) Executes the provided query to return a list of results.getSingleResultForQuery
(String queryString, ParameterSource source) Execute the provided query to return a single element.The entity to be merged with theEntityManager
.The entity to be merged with theEntityManager
.protected void
onInit()
Subclasses may implement this for initialization logic.void
Persists the entity.void
Persists the entity.void
setEntityManager
(EntityManager entityManager) void
setEntityManagerFactory
(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:JpaOperations
Executes 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:JpaOperations
Find 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
- 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:JpaOperations
Execute 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:JpaOperations
Executes 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:JpaOperations
Execute 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:JpaOperations
The entity to be merged with theEntityManager
. The provided object can also be anIterable
in which case each object of theIterable
is treated as an entity and merged with theEntityManager
.Null
values returned while iterating over theIterable
are ignored.- Parameters:
entity
- Must not be null.- Returns:
- The merged managed instance of the entity.
-
merge
Description copied from interface:JpaOperations
The entity to be merged with theEntityManager
. The provided object can also be anIterable
in which case each object of theIterable
is 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 usingflushSize
parameter and if provided object isIterable
.clearOnFlush
parameter 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:JpaOperations
Persists the entity. The provided object can also be anIterable
in which case each object of theIterable
is treated as an entity and persisted with theEntityManager
.Null
values returned while iterating over theIterable
are ignored.- Parameters:
entity
- Must not be null
-
persist
Description copied from interface:JpaOperations
Persists the entity. The provided object can also be anIterable
in which case each object of theIterable
is treated as an entity and persisted with theEntityManager
.Null
values returned while iterating over theIterable
are ignored. In addition theEntityManager.flush()
is called after the persist and after each batch, as it is specified usingflushSize
parameter and if provided object isIterable
.clearOnFlush
parameter 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
-
getEntityManager
-
setEntityManagerFactory
-
afterPropertiesSet
public final void afterPropertiesSet()- Specified by:
afterPropertiesSet
in interfaceInitializingBean
-
onInit
protected void onInit()Subclasses may implement this for initialization logic. -
flush
public void flush()Description copied from interface:JpaOperations
ExecutesEntityManager.flush()
.- Specified by:
flush
in interfaceJpaOperations
-