Java/Framework & Libs

Hibernate 4.x 사용 중 MultipleBagFetchException: cannot simultaneously fetch multiple bags 발생

허니몬 2013. 4. 20. 22:13

Hibernate 3.6.0.Final 을 사용하다가 4.2.Final 으로 변경하면서

MultipleBagFetchException: cannot simultaneously fetch multiple bags

이 발생하면서 entityManager가 정상적으로 밀드되지 않는 문제가 생겨남


* 관련 문제 해결 확인 :  MultipleBagFetchException: cannot simultaneously fetch multiple bags is there a workaround


@OneToMany(fetch=FetchType.EAGER)

private List<Department> departments;


형태로 선언된 부분들과 관련된 문제였다.

List 클래스와 관련된 문제가 아닐까 추측이 된다.


* 해결방법

    * 첫번째 방법

    @OneToMany(fetch=FetchType.EAGER)

    @LazyCollection(LazyCollectionOption.FALSE)  



    * 두번째 방법 

    @OneToMany(fetch=FetchType.LAZY)



* 개인적 의견 

    * 두번째 방법이 문제가 없다면, 걍 두번째 방법을 사용

    * @OneToOne의 경우에는 FetchType.EAGER 선언해도 오류없이 동작한다.