类 HibernatePagingItemReader<T>
- java.lang.Object
- org.springframework.batch.item.ItemStreamSupport
- org.springframework.batch.item.support.AbstractItemStreamItemReader<T>
- org.springframework.batch.item.support.AbstractItemCountingItemStreamItemReader<T>
- org.springframework.batch.item.database.AbstractPagingItemReader<T>
- org.springframework.batch.item.database.HibernatePagingItemReader<T>
- 所有已实现的接口:
ItemReader<T>,ItemStream,ItemStreamReader<T>,org.springframework.beans.factory.InitializingBean
public class HibernatePagingItemReader<T> extends AbstractPagingItemReader<T> implements org.springframework.beans.factory.InitializingBean
ItemReaderfor reading database records built on top of Hibernate and reading only up to a fixed number of items at a time. It executes an HQL query when initialized is paged as theAbstractItemCountingItemStreamItemReader.read()method is called. The query can be set directly usingsetQueryString(String), a named query can be used bysetQueryName(String), or a query provider strategy can be supplied viasetQueryProvider(HibernateQueryProvider).The reader can be configured to use either
StatelessSessionsufficient for simple mappings without the need to cascade to associated objects or standard hibernateSessionfor more advanced mappings or when caching is desired. When stateful session is used it will be cleared in theAbstractItemCountingItemStreamItemReader.update(ExecutionContext)method without being flushed (no data modifications are expected).The implementation is thread-safe in between calls to
AbstractItemCountingItemStreamItemReader.open(ExecutionContext), but remember to usesaveState=falseif used in a multi-threaded client (no restart available).- 从以下版本开始:
- 2.1
- 作者:
- Dave Syer
字段概要
从类继承的字段 org.springframework.batch.item.database.AbstractPagingItemReader
logger, results
构造器概要
构造器 构造器 说明 HibernatePagingItemReader()
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 voidafterPropertiesSet()Check mandatory properties.protected voiddoClose()Close the resources opened inAbstractItemCountingItemStreamItemReader.doOpen().protected voiddoJumpToPage(int itemIndex)protected voiddoOpen()Open resources necessary to start reading input.protected voiddoReadPage()voidsetFetchSize(int fetchSize)Fetch size used internally by Hibernate to limit amount of data fetched from database per round trip.voidsetParameterValues(java.util.Map<java.lang.String,java.lang.Object> parameterValues)The parameter values to apply to a query (map of name:value).voidsetQueryName(java.lang.String queryName)A query name for an externalized query.voidsetQueryProvider(HibernateQueryProvider<? extends T> queryProvider)A query provider.voidsetQueryString(java.lang.String queryString)A query string in HQL.voidsetSessionFactory(org.hibernate.SessionFactory sessionFactory)The Hibernate SessionFactory to use the create a session.voidsetUseStatelessSession(boolean useStatelessSession)Can be set only in uninitialized state.从类继承的方法 org.springframework.batch.item.database.AbstractPagingItemReader
doRead, getPage, getPageSize, jumpToItem, setPageSize
从类继承的方法 org.springframework.batch.item.support.AbstractItemCountingItemStreamItemReader
close, getCurrentItemCount, isSaveState, open, read, setCurrentItemCount, setMaxItemCount, setSaveState, update
从类继承的方法 org.springframework.batch.item.ItemStreamSupport
getExecutionContextKey, setExecutionContextName, setName
构造器详细资料
HibernatePagingItemReader
public HibernatePagingItemReader()
方法详细资料
setParameterValues
public void setParameterValues(java.util.Map<java.lang.String,java.lang.Object> parameterValues)
The parameter values to apply to a query (map of name:value).- 参数:
parameterValues- the parameter values to set
setQueryName
public void setQueryName(java.lang.String queryName)
A query name for an externalized query. Either this or the {query stringor the {query providershould be set.- 参数:
queryName- name of a hibernate named query
setFetchSize
public void setFetchSize(int fetchSize)
Fetch size used internally by Hibernate to limit amount of data fetched from database per round trip.- 参数:
fetchSize- the fetch size to pass down to Hibernate
setQueryProvider
public void setQueryProvider(HibernateQueryProvider<? extends T> queryProvider)
A query provider. Either this or the {query stringor the {query nameshould be set.- 参数:
queryProvider- Hibernate query provider
setQueryString
public void setQueryString(java.lang.String queryString)
A query string in HQL. Either this or the {query provideror the {query nameshould be set.- 参数:
queryString- HQL query string
setSessionFactory
public void setSessionFactory(org.hibernate.SessionFactory sessionFactory)
The Hibernate SessionFactory to use the create a session.- 参数:
sessionFactory- theSessionFactoryto set
setUseStatelessSession
public void setUseStatelessSession(boolean useStatelessSession)
Can be set only in uninitialized state.- 参数:
useStatelessSession-trueto useStatelessSessionfalseto use standard hibernateSession
afterPropertiesSet
public void afterPropertiesSet() throws java.lang.Exception
从类复制的说明:AbstractPagingItemReaderCheck mandatory properties.- 指定者:
afterPropertiesSet在接口中org.springframework.beans.factory.InitializingBean- 覆盖:
afterPropertiesSet在类中AbstractPagingItemReader<T>- 抛出:
java.lang.Exception- 另请参阅:
InitializingBean.afterPropertiesSet()
doOpen
protected void doOpen() throws java.lang.Exception
Open resources necessary to start reading input.- 覆盖:
doOpen在类中AbstractPagingItemReader<T>- 抛出:
java.lang.Exception- Allows subclasses to throw checked exceptions for interpretation by the framework
doReadPage
protected void doReadPage()
- 指定者:
doReadPage在类中AbstractPagingItemReader<T>
doJumpToPage
protected void doJumpToPage(int itemIndex)
- 指定者:
doJumpToPage在类中AbstractPagingItemReader<T>
doClose
protected void doClose() throws java.lang.Exception
Close the resources opened inAbstractItemCountingItemStreamItemReader.doOpen().- 覆盖:
doClose在类中AbstractPagingItemReader<T>- 抛出:
java.lang.Exception- Allows subclasses to throw checked exceptions for interpretation by the framework