2012-11-26 4 views
0

은 다음 코드는 작동 :스프링 배치 2와 최대 절전 모드 4에서 HibernateItemWriter를 사용하는 방법은 무엇입니까? (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를 최대 절전 모드로 업그레이드 한 후 내 테스트도 실패한이 예외 : 나는 인라인 함께하기 위해 HibernateTemplate에 콩을 변경하는 생각

org.springframework.orm.hibernate4.SessionHolder cannot be cast to org.springframework.orm.hibernate3.SessionHolder 

최대 절전 모드 4 :

<bean class="org.springframework.orm.hibernate4.HibernateTemplate" id="hibernateTemplate" > 
    <property name="sessionFactory" ref="sessionFactory" /> 
</bean> 

그러나이 클래스는 존재하지 않습니다.

우리는 Hibernate4와 Spring Batch를 어떻게 처리해야합니까?

답변

0

Spring Batch가 hibernate4를 지원하지 않기 때문에 현재로서는 불가능합니다. https://jira.springsource.org/browse/BATCH-1904

엄격한 비즈니스 요구 사항이없는 경우를 대비하여 JdbcItemWriters를 사용하는 것이 좋습니다. imho, hibernate 및 jpa는 스프링 배치에서 제대로 지원되지 않습니다.

+2

Hibernate 4는 Spring Batch 릴리스 2.2.0부터 지원됩니다. – mwalter

0

나는 Hibernate 4에 대한 Spring Batch 지원이 이미 있다고 생각한다. 안에 hibernateTemplate을 삽입 할 필요가 없습니다. sessionFactory 주입만으로 충분합니다. 자세한 내용은 체크 아웃 this link