머리가 나쁘긴 한가보다. 한번 경함한 에러가 아니었는데, 기억이 안나서 한동안 삽질 했다.
이제 별걸 다 기록해둬야겠다. 벌써 별게 아닌게 수두룩하긴 하다만;;

오래전에 가빈킹은 이런 경우 첨이라서 어쩌구 하는걸 구글링해서 봤다만, 만약 하이버네이트를 사용하고 오라클을 사용하고 있는데, 오류코드(ORA-01453:SET TRANSACTION 사용 시에는 트랜잭션의 최초문장 이어야 합니다) 가 나타났다면 다음 상황인지 아닌지 체크해볼만하다.

만하이버네이트는 ddl 자동 생성 기능이 있는데, 이걸 활성화시켰을 경우 ddl 코드 생성 후 트랜잭션을 시작하는 경우가 있다. 그러할 때에 이런 오류가 발생한다.

즉, 세션 팩토리 설정 중

<prop key="hibernate.hbm2ddl.auto">update</prop>

에서 update 를 validate 로 변경하면 문제없이 작동할 것이다. 하이버네이트가 좋긴 하다만, ddl 까지 맡기기엔 당신의 실력이 너무 좋지 않을까나? ^^

+ Recent posts