gpt4 book ai didi

mysql - 无法在 HQL 中使用两个选择

转载 作者:行者123 更新时间:2023-11-29 23:32:58 26 4
gpt4 key购买 nike

使用 Hibernate 及其查询语言。我尝试在 POJO 中执行以下查询

String sql = "select  (select count(*) from Data v where "
+ insuranceId
+" in (v.insuranceId1.id, v.insuranceId2.id, v.insuranceId3.id))"
+" + (select count(*) from Sat s where "
+ insuranceId
+" in (s.insuranceId1.id, s.insuranceId2.id, s.insuranceId3.id))";

em.createQuery(sql, Long.class).getSingleResult();

我收到以下错误

2:27:47,128 ERROR [stderr] (http-/0.0.0.0:8080-5) java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected end of subtree [select  (select count(*) from Data v where 991 in (v.insuranceId1.id, v.insuranceId2.id, v.insuranceId3.id)) + (select count(*) from Slot s where 991 in (s.insuranceId1.id, s.insuranceId2.id, s.insuranceId3.id))]

请指教

最佳答案

尝试createNativeQuery

Object l = em.createNativeQuery(sql).getSingleResult();

它应该返回包含计数总和的整数。

我认为 HQL 不支持不带 FROM 子句的 select。

关于mysql - 无法在 HQL 中使用两个选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26480847/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com