给出以下包含与子选择的连接的本机SQL查询,是否可以将其转换为JPQL查询(或者可以使用@SqlResultSetMapping
映射它,这样我就不必执行数千个填充我的对象的后续查询(例如,在这种情况下,Foo
包含对单个Bar
的引用和Baz
实体的列表):
SELECT
foo.*, bar.*, baz.*
FROM
foo
INNER JOIN
bar ON foo.bar_id = bar.id
INNER JOIN
baz ON bar.baz_id = baz.id
INNER JOIN
(SELECT
bar_id, MAX(some_int) ct
FROM
foo
WHERE
some_int <= 2
GROUP BY bar_id) max_id ON max_id.bar_id = foo.bar_id
WHERE
foo.some_int = max_id.ct;