【发布时间】:2021-02-23 09:31:16
【问题描述】:
我有一个看起来像这样的连接:
Join<RepairEntity, RepairAssignEntity> joinRepairAssignEntities = root.join(RepairEntity_.repairAssignEntities, LEFT);
转换成 SQL 后的样子
left outer join
repair_assign repairassi1_
on repairenti0_.id=repairassi1_.repair_id
我希望它是这样的:
left outer join
repair_assign repairassi1_
on repairenti0_.PARENT_ID=repairassi1_.repair_id
如果我向该联接添加条件:
Predicate equal = cb.equal(root.get(RepairEntity_.parentId), repairEntityPath.get(RepairEntity_.id));
joinRepairAssignEntities = joinRepairAssignEntities.on(equal);
成功了
left outer join
repair_assign repairassi1_
on repairenti0_.id=repairassi1_.repair_id
and (
repairenti0_.parent_id=repairassi1_.repair_id
)
如何摆脱
on repairenti0_.id=repairassi1_.repair_id
?
【问题讨论】:
标签: java jpa join outer-join criteria-api