我lazy="extra"
在java中的hibernate中获取问题。
我创建了两个类,父类和子类。在父类中,我定义了以下字段:
public class Parent{
...
@OneToMany( cascade = CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="parent")
@IndexColumn(name="index", base=1)
**@LazyCollection(LazyCollectionOption.EXTRA)**
private List<Child> children = new ArrayList<Child>();
public List<Child> getChildren() {
return children;
}
public void setChildren(List<Child> children) {
this.children = children;
}
...
}
分别在子类中我有这个父字段定义
public class Child{
...
@ManyToOne( fetch = FetchType.LAZY, optional = true)
@JoinColumn(name = "parent_ID", nullable = true)
private Parent parent;
public Parent getParent() {
return parent;
}
public void setParent(Parent parent) {
this.parent = parent;
}
...
}
但是当我调用我的实用程序类来获取 parent.getChildren().size() 我有一个错误
未能延迟初始化角色集合:com.realcommerce.formsGenerator.entity.Parent.children,没有会话或会话已关闭
有人可以帮助我理解我做错了什么,以及为什么我的代码不起作用