当前位置:编程学习 > JAVA >>

这个hql如何写

   我的HQL想写如下语句:select  a.C.id  from A a LEFT JOIN B b where a.C.id=b.C.id  group by a.C.id having  sum(a.money)<>sum(p.money) 
   其中A与C,B与C映射了many-to-one ,我想实现左连接查询(如果右边没有记录,则结果集不会为空)
   因为此语句老是报错,请问hibernate高手,这句hql如何写? --------------------编程问答-------------------- C在 A和B中是一个集合,你这a.aC.id指定会报错 你想要查什么? --------------------编程问答--------------------
引用 1 楼 u012463264 的回复:
C在 A和B中是一个集合,你这a.aC.id指定会报错 你想要查什么?

不是一个集合 是一个类,C是one的一方,A 和 C是many的一方 --------------------编程问答--------------------

selsect id (select  a.C.id as id,a.money as ad,b.money as bd from A a LEFT JOIN B b where a.C.id=b.C.id ) group by id  having sum(ad)!=sum(bd)  --------------------编程问答--------------------
引用 3 楼 u012463264 的回复:
selsect id (select  a.C.id as id,a.money as ad,b.money as bd from A a LEFT JOIN B b where a.C.id=b.C.id ) group by id  having sum(ad)!=sum(bd) 


你可以试一下  不知道对不对 ,你可以写成原生的SQL .hibernate是支持原生SQL的。 --------------------编程问答-------------------- 直接写原生sql好了!
补充:Java ,  Web 开发
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,