类 HibernateItemWriter<T>
- java.lang.Object
- org.springframework.batch.item.database.HibernateItemWriter<T>
- 所有已实现的接口:
ItemWriter<T>
,org.springframework.beans.factory.InitializingBean
public class HibernateItemWriter<T> extends java.lang.Object implements ItemWriter<T>, org.springframework.beans.factory.InitializingBean
ItemWriter
that uses a Hibernate session to save or update entities that are not part of the current Hibernate session. It will also flush the session after writing (i.e. at chunk boundaries if used in a Spring Batch TaskletStep). It will also clear the session on write default (seeclearSession
property).
The writer is thread-safe once properties are set (normal singleton behavior) if aCurrentSessionContext
that uses only one session per thread is used.- 作者:
- Dave Syer, Thomas Risberg, Michael Minella
字段概要
字段 修饰符和类型 字段 说明 protected static org.apache.commons.logging.Log
logger
构造器概要
构造器 构造器 说明 HibernateItemWriter()
方法概要
所有方法 实例方法 具体方法 已过时的方法 修饰符和类型 方法 说明 void
afterPropertiesSet()
Check mandatory properties - there must be a sessionFactory.protected void
doWrite(org.hibernate.SessionFactory sessionFactory, java.util.List<? extends T> items)
Do perform the actual write operation using Hibernate's API.protected void
doWrite(org.springframework.orm.hibernate5.HibernateOperations hibernateTemplate, java.util.List<? extends T> items)
已过时。As of 2.2 in favor of using Hibernate's session management APIs directlyvoid
setClearSession(boolean clearSession)
Flag to indicate that the session should be cleared and flushed at the end of the write (default true).void
setSessionFactory(org.hibernate.SessionFactory sessionFactory)
Set the Hibernate SessionFactory to be used internally.void
write(java.util.List<? extends T> items)
Save or update any entities not in the current hibernate session and then flush the hibernate session.
字段详细资料
logger
protected static final org.apache.commons.logging.Log logger
构造器详细资料
HibernateItemWriter
public HibernateItemWriter()
方法详细资料
setClearSession
public void setClearSession(boolean clearSession)
Flag to indicate that the session should be cleared and flushed at the end of the write (default true).- 参数:
clearSession
- the flag value to set
setSessionFactory
public void setSessionFactory(org.hibernate.SessionFactory sessionFactory)
Set the Hibernate SessionFactory to be used internally.- 参数:
sessionFactory
- session factory to be used by the writer
afterPropertiesSet
public void afterPropertiesSet()
Check mandatory properties - there must be a sessionFactory.- 指定者:
afterPropertiesSet
在接口中org.springframework.beans.factory.InitializingBean
write
public void write(java.util.List<? extends T> items)
Save or update any entities not in the current hibernate session and then flush the hibernate session.- 指定者:
write
在接口中ItemWriter<T>
- 参数:
items
- items to be written- 另请参阅:
ItemWriter.write(java.util.List)
doWrite
protected void doWrite(org.hibernate.SessionFactory sessionFactory, java.util.List<? extends T> items)
Do perform the actual write operation using Hibernate's API. This can be overridden in a subclass if necessary.- 参数:
sessionFactory
- Hibernate SessionFactory to be useditems
- the list of items to use for the write
doWrite
@Deprecated protected void doWrite(org.springframework.orm.hibernate5.HibernateOperations hibernateTemplate, java.util.List<? extends T> items)
已过时。As of 2.2 in favor of using Hibernate's session management APIs directlyDo perform the actual write operation usingHibernateOperations
. This can be overridden in a subclass if necessary.- 参数:
hibernateTemplate
- the HibernateTemplate to use for the operationitems
- the list of items to use for the write