변경된 버전의 jar파일을 http://hibernate.org/orm/downloads/ 혹은 maven에서 다운로드 후
hibernate.xml 설정을 변경 합니다.
3버전
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
4버전
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
3버전
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
4버전
<bean id="transactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
web.xml 설정을 변경 합니다.
3버전
<filter>
<filter-name>openSessionInViewFilter</filter-name>
<filter-class>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>openSessionInViewFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
4버전
<filter>
<filter-name>openSessionInViewFilter</filter-name>
<filter-class>
org.springframework.orm.hibernate4.support.OpenSessionInViewFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>openSessionInViewFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
으로 변경 합니다.
하이버네이트 4.2 까지는 스프링 3. 버전까지를 지원 하지만 하이버네이트 4.3 버전 부터는 하이버 네이트 버전도 4. 으로 변경 해야 합니다.
web.xml의 openSessionInViewFilter를 변경 하지 않는 경우
java.lang.NoSuchMethodError: org.hibernate.SessionFactory.openSession()Lorg/hibernate/classic/Session;
에러가 발생 할 수 있습니다.
jdk 1.5로 커파일한 class파일로 구동을 시도하는 경우 역시 SessionFactory.currentSession()관련 에러가 발생 됩니다.
다운받는 zip파일의 /lib/required/ 하위의 jar파일은 가능하면 버전을 맞춰 주는게 좋습니다.
javassist.jar파일의 버전 문제로 정상 동작 안 할 수 있습니다.
'Hibernate' 카테고리의 다른 글
전자정부 3.10 + spring-data-jpa + Querydsl (0) | 2021.05.12 |
---|---|
update 작업시 변경된 컬럼만 update하기 (0) | 2018.01.19 |
setFirstResult 사용시 유의 사항 (0) | 2015.07.13 |
jboss 7 + hibernate4 사용시 문제 (0) | 2015.03.18 |
하이버네이트3 doc파일(한글) (0) | 2015.03.04 |