我在实体之间有一对多的关系。执行此 JPQL 查询时:
SELECT parent FROM Parent parent JOIN parent.child child WHERE ...
当父母有 2 个孩子时,我得到重复的记录,当父母有一个孩子时只有一个,没有孩子时没有(没有孩子时没有)。请注意,SQL 数据库中没有 Parent 的重复项。
实体声明如下:
@Entity(...)
public class Parent {
@Id
Long parentId;
@OneToMany(mappedBy = "parentID")
List<Child> children;
}
@Entity(...)
public class Child {a
Long parentId;
}
为了简洁起见,我省略了很多代码,但这应该让您对我正在尝试做的事情有一个深刻的了解。请注意,该关系是在父母一方定义的,因为我需要从查询返回的父母名单及其子女。