Hibernate Query Association with Criteria:'和'对孩子们?

时间:2013-07-23 12:21:38

标签: hibernate collections hibernate-criteria

假设我有一个父类Book,每个都有一个作者列表。 我试图找到所有书籍,其中至少有两位作者名为“Bob”,另一本名为“Alan”。

这是我的Groovy代码不起作用,它同时查找名为“Bob”和“Alan”的作者的书籍,因此返回0项。我试图创建2个别名来创建2个连接,但是Hibernate拒绝为同一个集合创建2个别名。

def crit = hsession.createCriteria(Book.class).createCriteria(“authors”)。add(Restrictions.eq(“name”,“Bob”))。add(Restrictions.eq(“name”,“Alan” “))

1 个答案:

答案 0 :(得分:0)

你需要像这样使用LogicalExpression

def crit = hsession.createCriteria(Book.class)
.createAlias("authors", "author")
.add(Restrictions.or(Restrictions.eq("author.name", "Bob"), Restrictions.eq("author.name", "Alan")))