是否可以将连接到子选择的查询转换为JPQL?

问题描述 投票:0回答:1

给出以下包含与子选择的连接的本机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;
sql hibernate spring-data-jpa jpql
1个回答
0
投票
不是直接使用JPQL,而是可以在Hibernate上使用Blaze-Persistence来执行此操作。请参见以下示例:https://persistence.blazebit.com/documentation/1.5/core/manual/en_US/#subquery-in-from-clause
© www.soinside.com 2019 - 2024. All rights reserved.