JPA Criteria API 有一些重要的限制。例如:
- 不支持右外连接
- 仅当实体中的关系处于同一方向时才支持左外连接
- 在 SELECT 和 FROM 子句中都不支持子查询
QueryDsl querydsl-jpa
是否有同样的限制?
QueryDsl querydsl-sql
怎么样?
编辑:
从 QueryDsl 文档(没有具体经验),QueryDsl 提供了两个查询类 JPAQuery
和 JPASQLQuery
。第一个似乎与 JPA Criteria API 具有相同的限制,但 JPASQLQuery
似乎没有。如果有时间,我会深入研究代码并尝试一下。但是,如果有人已经对此有所了解,那么欢迎您!
最佳答案
你的假设是正确的。 Querydsl JPA的限制与上述三个限制相同,也是JPA的查询语言JPQL的限制。
JPAQuery
用于 JPQL 查询,JPASQLQuery
用于 JPA native (SQL) 查询。
关于java - querydsl 是否受到与 JPA Criteria API 相同的限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23625885/