잊지 않겠습니다.

개인 project를 진행하다가 이상한 에러가 계속해서 발생되었다. 


Transaction update가 발생될때와 Test Rollback 이 발생될 때마다 PlatformTransaction null point exception이 발생되었다.

특이하게 이 exception은 다음과 같은 상황에서만 발생된다. 


1. JUnit을 이용한 test인 경우

2. update, delete query인 경우


발생되는 곳에 @Transactional을 붙이건 뭘하건 계속해서 발생이 되는데.... 이 에러의 원인은 엉뚱하게도 다른곳에 있었다.


hibernate-core와 hibernate-entitymanager 간의 버젼이 다를 경우에 발생하는 에러라는것. -_-;;


gradle로 build script를 짜두고 hibernate version만으로 따로 project property로 관리하고 있었는데, 최신의 hibernate와 예전의 hibernate-entitymanager간의 버젼이 다르기 때문에 발생되는 에러였다. 


그래서 gradle script를 다음과 같이 변경한 후에는 잘 돌아간다.; hibernate에 관련된 library들은 같은 version으로 관리될 수 있도록 해야지 되겠다.;



ext {

    springVersion = '4.0.0.BUILD-SNAPSHOT'

    springDataVersion = '1.4.2.RELEASE'

    javaVersion = 1.7

    slf4jVersion = '1.7.2'

    querydslVersion = '3.2.4'

    hibernateVersion = "4.2.7.Final"

}


        compile "org.hibernate:hibernate-core:${rootProject.ext.hibernateVersion}"

        compile "org.hibernate:hibernate-entitymanager:${rootProject.ext.hibernateVersion}"

        compile "org.hibernate:${rootProject.ext.hibernateVersion}"



Posted by Y2K
,