public class DefaultJpaOperations extends Object
Constructor and Description |
---|
DefaultJpaOperations() |
Modifier and Type | Method and Description |
---|---|
void |
afterPropertiesSet() |
void |
delete(Object entity) |
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(Class<T> entityType,
Object id)
Find an Entity of given type with the given primary key type.
|
void |
flush()
Executes
EntityManager.flush() . |
protected EntityManager |
getEntityManager() |
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 results
|
List<?> |
getResultListForQuery(String queryString,
ParameterSource source,
int firstResult,
int maxNumberOfResults)
Executes the provided query to return a list of results.
|
Object |
getSingleResultForQuery(String queryString,
ParameterSource source)
Executes the provided query to return a single element
|
Object |
merge(Object entity)
The entity to be merged with the
EntityManager . |
Object |
merge(Object entity,
int flushSize,
boolean clearOnFlush)
The entity to be merged with the
EntityManager . |
protected void |
onInit()
Subclasses may implement this for initialization logic.
|
void |
persist(Object entity)
Persists the entity.
|
void |
persist(Object entity,
int flushSize,
boolean clearOnFlush)
Persists the entity.
|
void |
setEntityManager(EntityManager entityManager) |
void |
setEntityManagerFactory(EntityManagerFactory entityManagerFactory) |
public void delete(Object entity)
entity
- The entity to delete.public void deleteInBatch(Iterable<?> entities)
entities
- The entities to delete.public int executeUpdate(String updateQuery, ParameterSource source)
JpaOperations
updateQuery
- Must Not be empty.source
- Must Not be null.public int executeUpdateWithNamedQuery(String updateQuery, ParameterSource source)
updateQuery
- The update query.source
- The parameter source.public int executeUpdateWithNativeQuery(String updateQuery, ParameterSource source)
updateQuery
- The update query.source
- The parameter source.public <T> T find(Class<T> entityType, Object id)
JpaOperations
T
- The type to return.entityType
- The type.id
- The object identifier.public List<?> getResultListForClass(Class<?> entityClass, int firstResult, int maxNumberOfResults)
entityClass
- The entity class.firstResult
- The index of the first result to return.maxNumberOfResults
- The number of objects to return.public List<?> getResultListForNamedQuery(String selectNamedQuery, ParameterSource parameterSource, int firstResult, int maxNumberOfResults)
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.public List<?> getResultListForNativeQuery(String selectQuery, @Nullable Class<?> entityClass, ParameterSource parameterSource, int firstResult, int maxNumberOfResults)
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.public List<?> getResultListForQuery(String query, ParameterSource source)
JpaOperations
query
- The query.source
- the Parameter source for this query to be executed, if none then set as nullpublic List<?> getResultListForQuery(String queryString, ParameterSource source, int firstResult, int maxNumberOfResults)
JpaOperations
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.public Object getSingleResultForQuery(String queryString, ParameterSource source)
JpaOperations
queryString
- Must not be emptysource
- the Parameter source for this query to be executed, if none then set as null@Nullable public Object merge(Object entity)
JpaOperations
EntityManager
.
The provided object can
also be an Iterable
in which case each object of the Iterable
is treated as an entity and merged with the
EntityManager
. Null
values returned while iterating over the Iterable
are ignored.entity
- Must not be null.@Nullable public Object merge(Object entity, int flushSize, boolean clearOnFlush)
JpaOperations
EntityManager
.
The provided object can
also be an Iterable
in which case each object of the Iterable
is treated as an entity and merged with the
EntityManager
.
In addition the EntityManager.flush()
is called after the merge
and after each batch, as it is specified using flushSize
parameter and if
provided object is Iterable
.
clearOnFlush
parameter specifies, if the EntityManager.clear()
should be called after each EntityManager.flush()
.entity
- The entity.flushSize
- The flush size.clearOnFlush
- true to clear after flushing.public void persist(Object entity)
JpaOperations
Iterable
in which case each object of the Iterable
is treated as an entity
and persisted with the EntityManager
.
Null
values returned
while iterating over the Iterable
are ignored.entity
- Must not be nullpublic void persist(Object entity, int flushSize, boolean clearOnFlush)
JpaOperations
Iterable
in which case each object of the Iterable
is treated as an entity
and persisted with the EntityManager
.
Null
values returned
while iterating over the Iterable
are ignored.
In addition the EntityManager.flush()
is called after the persist
and after each batch, as it is specified using flushSize
parameter and if
provided object is Iterable
.
clearOnFlush
parameter specifies, if the EntityManager.clear()
should be called after each EntityManager.flush()
.entity
- The entity.flushSize
- The flush size.clearOnFlush
- true to clear after flushing.public void setEntityManager(EntityManager entityManager)
protected EntityManager getEntityManager()
public void setEntityManagerFactory(EntityManagerFactory entityManagerFactory)
public final void afterPropertiesSet()
afterPropertiesSet
in interface InitializingBean
protected void onInit()
public void flush()
JpaOperations
EntityManager.flush()
.flush
in interface JpaOperations