使用休眠 3 时,以下代码有效:
<bean id="ivsHibernateWriter"
class="org.springframework.batch.item.database.HibernateItemWriter">
<property name="hibernateTemplate" ref="hibernateTemplate"/>
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean class="org.springframework.orm.hibernate3.HibernateTemplate" id="hibernateTemplate" >
<property name="sessionFactory" ref="sessionFactory" />
</bean>
升级到休眠 4 后,我的测试失败,出现以下异常:
org.springframework.orm.hibernate4.SessionHolder cannot be cast to org.springframework.orm.hibernate3.SessionHolder
我想过将 hibernateTemplate bean 更改为与 hibernate 4 内联,如下所示:
<bean class="org.springframework.orm.hibernate4.HibernateTemplate" id="hibernateTemplate" >
<property name="sessionFactory" ref="sessionFactory" />
</bean>
但是,这个类不存在。
我们应该如何使用 Hibernate4 和 Spring Batch?