Class HibernateCursorItemReaderBuilder<T>
- java.lang.Object
- org.springframework.batch.item.database.builder.HibernateCursorItemReaderBuilder<T>
public class HibernateCursorItemReaderBuilder<T> extends java.lang.Object
This is a builder for theHibernateCursorItemReader
. When configuring, one of the following should be provided (listed in order of precedence):- Since:
- 4.0
- Author:
- Michael Minella, Glenn Renfro
- See Also:
HibernateCursorItemReader
Constructor Summary
Constructors Constructor Description HibernateCursorItemReaderBuilder()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description HibernateCursorItemReader<T>
build()
Returns a fully constructedHibernateCursorItemReader
.HibernateCursorItemReaderBuilder<T>
currentItemCount(int currentItemCount)
Index for the current item.HibernateCursorItemReaderBuilder<T>
entityClass(java.lang.Class nativeClass)
HibernateCursorItemReaderBuilder<T>
fetchSize(int fetchSize)
The number of items to be returned with each round trip to the database.HibernateCursorItemReaderBuilder<T>
maxItemCount(int maxItemCount)
Configure the max number of items to be read.HibernateCursorItemReaderBuilder<T>
name(java.lang.String name)
The name used to calculate the key within theExecutionContext
.HibernateCursorItemReaderBuilder<T>
nativeQuery(java.lang.String nativeQuery)
Used to configure aHibernateNativeQueryProvider
.HibernateCursorItemReaderBuilder<T>
parameterValues(java.util.Map<java.lang.String,java.lang.Object> parameterValues)
A map of parameter values to be set on the query.HibernateCursorItemReaderBuilder<T>
queryName(java.lang.String queryName)
The name of the Hibernate named query to be executed for this reader.HibernateCursorItemReaderBuilder<T>
queryProvider(HibernateQueryProvider<T> queryProvider)
A query provider.HibernateCursorItemReaderBuilder<T>
queryString(java.lang.String queryString)
The HQL query string to execute.HibernateCursorItemReaderBuilder<T>
saveState(boolean saveState)
Configure if the state of theItemStreamSupport
should be persisted within theExecutionContext
for restart purposes.HibernateCursorItemReaderBuilder<T>
sessionFactory(org.hibernate.SessionFactory sessionFactory)
The HibernateSessionFactory
to execute the query against.HibernateCursorItemReaderBuilder<T>
useStatelessSession(boolean useStatelessSession)
Indicator for whether to use aStatelessSession
(true
) or aSession
(false
).
Method Detail
saveState
public HibernateCursorItemReaderBuilder<T> saveState(boolean saveState)
Configure if the state of theItemStreamSupport
should be persisted within theExecutionContext
for restart purposes.- Parameters:
saveState
- defaults to true- Returns:
- The current instance of the builder.
name
public HibernateCursorItemReaderBuilder<T> name(java.lang.String name)
The name used to calculate the key within theExecutionContext
. Required ifsaveState(boolean)
is set to true.- Parameters:
name
- name of the reader instance- Returns:
- The current instance of the builder.
- See Also:
ItemStreamSupport.setName(String)
maxItemCount
public HibernateCursorItemReaderBuilder<T> maxItemCount(int maxItemCount)
Configure the max number of items to be read.- Parameters:
maxItemCount
- the max items to be read- Returns:
- The current instance of the builder.
- See Also:
AbstractItemCountingItemStreamItemReader.setMaxItemCount(int)
currentItemCount
public HibernateCursorItemReaderBuilder<T> currentItemCount(int currentItemCount)
Index for the current item. Used on restarts to indicate where to start from.- Parameters:
currentItemCount
- current index- Returns:
- this instance for method chaining
- See Also:
AbstractItemCountingItemStreamItemReader.setCurrentItemCount(int)
parameterValues
public HibernateCursorItemReaderBuilder<T> parameterValues(java.util.Map<java.lang.String,java.lang.Object> parameterValues)
A map of parameter values to be set on the query. The key of the map is the name of the parameter to be set with the value being the value to be set.- Parameters:
parameterValues
- map of values- Returns:
- this instance for method chaining
- See Also:
HibernateCursorItemReader.setParameterValues(Map)
queryName
public HibernateCursorItemReaderBuilder<T> queryName(java.lang.String queryName)
The name of the Hibernate named query to be executed for this reader.- Parameters:
queryName
- name of the query to execute- Returns:
- this instance for method chaining
- See Also:
HibernateCursorItemReader.setQueryName(String)
fetchSize
public HibernateCursorItemReaderBuilder<T> fetchSize(int fetchSize)
The number of items to be returned with each round trip to the database. Used internally by Hibernate.- Parameters:
fetchSize
- number of records to return per fetch- Returns:
- this instance for method chaining
- See Also:
HibernateCursorItemReader.setFetchSize(int)
queryProvider
public HibernateCursorItemReaderBuilder<T> queryProvider(HibernateQueryProvider<T> queryProvider)
A query provider. This should be set only ifqueryString(String)
andqueryName(String)
have not been set.- Parameters:
queryProvider
- the query provider- Returns:
- this instance for method chaining
- See Also:
HibernateCursorItemReader.setQueryProvider(HibernateQueryProvider)
queryString
public HibernateCursorItemReaderBuilder<T> queryString(java.lang.String queryString)
The HQL query string to execute. This should only be set ifqueryProvider(HibernateQueryProvider)
andqueryName(String)
have not been set.- Parameters:
queryString
- the HQL query- Returns:
- this instance for method chaining
- See Also:
HibernateCursorItemReader.setQueryString(String)
sessionFactory
public HibernateCursorItemReaderBuilder<T> sessionFactory(org.hibernate.SessionFactory sessionFactory)
The HibernateSessionFactory
to execute the query against.- Parameters:
sessionFactory
- the session factory- Returns:
- this instance for method chaining
- See Also:
HibernateCursorItemReader.setSessionFactory(SessionFactory)
useStatelessSession
public HibernateCursorItemReaderBuilder<T> useStatelessSession(boolean useStatelessSession)
Indicator for whether to use aStatelessSession
(true
) or aSession
(false
).- Parameters:
useStatelessSession
- Defaults to false- Returns:
- this instance for method chaining
- See Also:
HibernateCursorItemReader.setUseStatelessSession(boolean)
nativeQuery
public HibernateCursorItemReaderBuilder<T> nativeQuery(java.lang.String nativeQuery)
Used to configure aHibernateNativeQueryProvider
. This is ignored if- Parameters:
nativeQuery
-String
containing the native query.- Returns:
- this instance for method chaining
entityClass
public HibernateCursorItemReaderBuilder<T> entityClass(java.lang.Class nativeClass)
build
public HibernateCursorItemReader<T> build()
Returns a fully constructedHibernateCursorItemReader
.- Returns:
- a new
HibernateCursorItemReader