Spring Data JPA AND 条件与 LEFT JOIN

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

我有以下查询,它连接了 2 个单独的表。为了提高性能,我想添加一个额外的 AND 条件。在 JPA/Hibernate 中如何完成?

select *
from Table A
LEFT JOIN Table B on A.column1 = B.column1 AND A.column2 = B.column2 
AND B.column3 > '100'.

在上面的示例查询中,我们必须动态传递第3列的值。尝试过过滤条件,但不起作用。

尝试过过滤注释,但不起作用。我还尝试了 criteriabuilder 并使用 ON 条件,但它创建了一个额外的 JOIN 条件,而不是附加 AND 条件。

jpa
1个回答
0
投票

您可以使用参数传递它

select *
from Table A
LEFT JOIN Table B on A.column1 = B.column1 AND A.column2 = B.column2 
AND B.column3 > :paramValue
List<A> findTest(@Param("paramValue") double paramValue);
© www.soinside.com 2019 - 2024. All rights reserved.