0

假设我有一个父类 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"))

4

1 回答 1

0

你需要像这样使用LogicalExpression

def crit = hsession.createCriteria(Book.class)
.createAlias("authors", "author")
.add(Restrictions.or(Restrictions.eq("author.name", "Bob"), Restrictions.eq("author.name", "Alan")))
于 2013-07-25T11:28:43.877 回答