다음과 같은 Hibernate 매핑 클래스가 있다고 가정 해보십시오.Hibernate에서 Null과 빈 콜렉션
public class ClassA {
@OneToMany(fetch=EAGER)
private List<ClassB> bList;
}
최대 절전 모드 세션에서 ClassA
의 개체를 읽을 때 PersistentList
필드는 PersistentList
개체로 예상대로 초기화됩니다.
목록이 비어있는 상황에서 비어있는 PersistentList
이 아닌 null
필드를 null
로 초기화하기 위해 최대 절전 모드가 필요하다는 요구 사항이 있습니다. 이론적으로, Hibernate는 이것을하기 위해 필요한 정보를 가지고있다. 왜냐하면리스트상의 가져 오기가 열성적이기 때문이다. 문제는 section 6.1 of the Hibernate docs에 따라 다음과 같습니다.
기본 관계형 모델로 인해 컬렉션 값 속성은 가 null 값 의미를 지원하지 않습니다. Hibernate는 과 null 콜렉션 레퍼런스와 빈 콜렉션을 구별하지 않는다.
이것은 완벽하게 이해할 수 있지만, 누군가가이 제한을 극복하기위한 교묘 한 규칙을 생각해 낼 수 있기를 바랍니다. 어쩌면 일부 청취자/콜백 메커니즘이 빈 목록을 null 참조로 바꿀 수 있다고 생각합니다.
, 그래 – skaffman
...하지만 당신이 올바른 것, 느리게로드 기관 : –