0

我在 JPQL 中有一个非常有用的查询:

select count(p) from Project p, in (p.members) s where s.members.email = :email

或再次

select p from Project p, in (p.members) s where s.members.email = :email order by p.lastUpdate desc

它快速,易于理解并且完美无缺。当关系不是@*ToMany 而是@ElementCollection 时,它甚至可以很好地工作。

现在我需要将 转换in (p.members) s where s.members.email = :email为 Criteria API,以便我可以在许多类似实体中复制这种查询模式,或者以编程方式添加“orderBy”和其他条件,我宁愿不通过String操作来完成,我熟悉基本的Criteria API 的使用,但我绝不是专家。

我试过了,CriteriaBuilder.in(~)但它似乎是一个完全不同的意思......或者我用错了。

有人可以帮忙吗?

我在 JPA 2.1 后面使用 Hibernate 4.3.0(在 Play!Framework 中)。

4

0 回答 0