我有以下查询,它连接了 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 条件。
您可以使用参数传递它
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);