【发布时间】:2021-04-20 21:56:24
【问题描述】:
我需要使用 JOIN TABLE ON ... AND ... 使用 Spring Data JPA 标准构建器进行连接。
我知道我可以像这样进行基本连接:
Join<ReportEntity, ProductEntity> productJoin = root.join("products", JoinType.LEFT);
但是我可以为连接指定额外的标准吗?如果没有,是否有另一种方法可以使用 Criteria Builder 实现这一目标?这是我想重现的 SQL 查询:
SELECT r.id, p.rare
FROM REPORT r
LEFT JOIN PRODUCT p
ON r.id = p.report_id AND p.rare = 1
WHERE p.report_id IS NULL;
请注意,在上述查询中的WHERE 子句中指定p.rare = 1 不会给出所需的结果,它需要进入ON 子句。
【问题讨论】:
标签: sql jpa spring-data-jpa criteria-api