0

我有这样的查询

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

如何在休眠中实现以下查询?而且我还需要将值作为相应表的对象返回。是否可以?

4

1 回答 1

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 的外键(反之亦然)。如果没有这样的关联,那是不可能的。左连接仅适用于关联。

于 2012-07-08T16:49:23.933 回答