Hibernate - 限制父类的标准

时间:2017-09-19 13:51:51

标签: hibernate criteria hibernate-criteria restriction

我有一个带有孩子B的对象A.我为B创建了一个标准但是尝试对A使用限制。但是,这不起作用:

Criteria criteria = getCurrentSession().createCriteria(B.class, "p");
criteria.add(eq("B.name", nameB));
criteria.add(eq("B.a.name", nameA));

return criteria.list();

我遇到了以下错误:

org.hibernate.QueryException: could not resolve property: a.name of: model.B

如果重要的话,我在B.a属性上有一个FetchType.LAZY。我试图将其更改为FetchType.EAGER,但它没有帮助。

1 个答案:

答案 0 :(得分:0)

由于文档的原因,我解决了这个问题。

criteria.add(eq("nom", nomB)).setFetchMode("a", FetchMode.JOIN).createCriteria("a").add(eq("nom", nomA));

FetchMode.JOIN与FetchMode.EAGER类似,但最后一个不推荐使用。

相关问题