Red*_*Bit 20 java hibernate hql subquery
可以在另一个查询的结果集上选择HQL吗?
例如:
SELECT COUNT(*) FROM (SELECT * FROM Table)
Run Code Online (Sandbox Code Playgroud)
我可以在SQL中做到这一点,但是当我在HQL中尝试上面但它只是向我显示语法错误"意外令牌:(靠近第1行,第22列......"
Kev*_*sox 16
HQL支持子查询,但它们只能出现在select或where子句中.您提供的示例最好在HQL中作为直接语句编写.例如:
select count(*) from table t (where table is the entity name)
Run Code Online (Sandbox Code Playgroud)
如果查询涉及更复杂的语句(select * from Table),我建议将此逻辑放入视图中,然后根据此视图创建实体.
对于支持子选择的数据库,Hibernate支持查询中的子查询.子查询必须用括号括起来(通常通过SQL聚合函数调用).甚至允许相关子查询(引用外部查询中的别名的子查询).
例
from DomesticCat as cat
where cat.name not in (
select name.nickName from Name as name
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
34014 次 |
| 最近记录: |