0

hibernate 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>

hibernate 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 をどのように使用すればよいですか?

4

2 に答える 2

0

Spring Batch は hibernate4 をサポートしていないため、これは今のところ不可能です。このhttps://jira.springsource.org/browse/BATCH-1904に関する Jira の問題が表示される場合があります。

厳密なビジネス要件がない場合は、JdbcItemWriters を使用することをお勧めします。imho、hibernate、および jpa は、Spring バッチで十分にサポートされていません (理由は理解しています)。

于 2012-11-27T07:39:12.940 に答える