我有这样的查询
SELECT
tableA.field1,
SUM(tableB.field4) AS the_sum
FROM
tableA
LEFT JOIN tableB ON tableA.field1 = tableB.field2
WHERE
/* IN() for multiple possible vals. Use = if only 1 val needed
and then the GROUP BY is unnecessary */
tableA.field1 IN ('val1','val2',val3')
GROUP BY tableA.field1
如何在hibernate中实现以下查询?而且我还需要将值作为相应表的对象返回。有可能吗?
答案 0 :(得分:0)
查询几乎相同:
select a.field1, sum(b.field4) as the_sum
from EntityA a left join a.b
where a.field1 in ('val1', 'val2', 'val3')
group by a.field1
假设存在从EntityA到EntityB的关联,使用a.field1作为b.field2的外键(反之亦然)。如果你没有这样的联想,那是不可能的。左连接只能与关联一起使用。