假设我有以下Hibernate映射类:
public class ClassA {
@OneToMany(fetch=EAGER)
private List<ClassB> bList;
}
Run Code Online (Sandbox Code Playgroud)
当我ClassA从Hibernate会话中读取对象时,该bList字段使用PersistentList对象初始化,如预期的那样.
我发现自己有一个要求,在列表为空的情况下,我需要Hibernate初始化bList字段null,而不是空PersistentList.从理论上讲,Hibernate拥有它所需要的信息,因为列表中的提取非常渴望.问题是根据Hibernate文档的6.1节:
由于底层关系模型,集合值属性不支持空值语义.Hibernate不区分空集合引用和空集合.
这很有道理,但我希望有人可以拿出一个狡猾的诡计来克服这个限制.我想也许一些监听器/回调机制可能允许我用空引用替换空列表.