为了简化起见,我需要实现select
from
嵌套查询:
select * from (select * from city) c
如何使用CriteriaQuery
和Subquery
完成此操作?
答案 0 :(得分:0)
您不能这样做,因为(从城市中选择*)不是实体,并且CritieriaAPI查询不在表上的实体上。
唯一的方法是创建一个视图(从城市中选择*)并将该视图映射到实体。
答案 1 :(得分:0)
首先,您的语法不符合前面提到的JPA,其次,您必须知道JPQL中的子查询仅在WHERE和HAVING子句中允许。条件查询也是如此。如果您需要更强大的SQL子查询功能,那么对于JPA,您必须对本地查询使用JPA设置,否则,请使用另一种JDBC库。