使用CriteriaQuery的FROM子句中的子查询

时间:2018-11-20 10:50:15

标签: jpa spring-data-jpa criteria-api

为了简化起见,我需要实现select from嵌套查询:

select * from (select * from city) c

如何使用CriteriaQuerySubquery完成此操作?

2 个答案:

答案 0 :(得分:0)

您不能这样做,因为(从城市中选择*)不是实体,并且CritieriaAPI查询不在表上的实体上。

唯一的方法是创建一个视图(从城市中选择*)并将该视图映射到实体。

答案 1 :(得分:0)

首先,您的语法不符合前面提到的JPA,其次,您必须知道JPQL中的子查询仅在WHERE和HAVING子句中允许。条件查询也是如此。如果您需要更强大的SQL子查询功能,那么对于JPA,您必须对本地查询使用JPA设置,否则,请使用另一种JDBC库。