【发布时间】:2013-01-21 19:02:42
【问题描述】:
我是 Hibernate 的新手,我想知道如何使用 Criteria 进行此类操作:
我有 A、B 和 C 三个班级。 A 类与 B 类具有 @OneToMany 关联。B 类与 C 类具有@ManyToOne 关联。
我想要一个使用 Criteria 的请求,当我想要 A 类的对象时检索所有信息,以便我可以遍历 A.Bs 然后访问 b.c
目前我有一个只检索 B 的查询:
session.createCriteria(A.class)
.add(Restrictions.idEq(aId))
.setFetchMode("B", FetchMode.JOIN)
.uniqueResult();
感谢您的帮助
编辑: 我试过了:
session.createCriteria(A.class)
.add(Restrictions.idEq(aId))
.createCriteria("Bs")
.createCriteria("C")
.uniqueResult();
但这是否以这个错误结束:
org.hibernate.LazyInitializationException: could not initialize proxy - no Session
【问题讨论】:
标签: hibernate join criteria fetch