Spring + Hibernate + OpenSessionInView 사용시 주의할 점. 프로그래밍

Spring Framework와 Hibernate를 연동해서 사용할 때는 Hibernate의 Lazy Loading을 사용하려면 꼭 OpenSessionInView 필터 혹은 인터셉터를 적용해줘야 한다.
그런데, 롤백이 일어날 때 세션이 항상 닫혀버리고, 그로인해 Lazy Loading이 먹통이 되는 현상이 있어서 오늘 하루종일 삽질하다가 회사 동료분에게 자문을 구하고 함께 페어로 스프링 소스 다 까보고 그러다가 문제를 드디어 해결했는데, 너무도 허탈한 것은... 이미 OpenSessionInViewFilter API DOC에 해결책이 다 나와 있다는 것...

Spring FrameWork와 Hibernate 그리고 거기서 OpenSessionInViewFilter를 적용할 때의 주의점과 그 원인을 정리 해 두었다.

Read The F(ine|ucking) Manual!

그리고 혹시 다음에 나오는 스프링 관련 책이 있다면, 지금 이 내용을 꼭 넣어야 할 것으로 보인다. 스프링과 하이버네이트 연동시에는 사실상 무조건 해줘야 할 것으로 보이는 내용이다.

이번주에 이상하게 포스팅 많이하네...

덧글

  • 험블 2008/04/16 11:47 # 삭제

    와~ 좋은 정보 감사합니다. 자주자주 포스팅해주세요^^
※ 로그인 사용자만 덧글을 남길 수 있습니다.