【发布时间】:2013-04-26 19:46:29
【问题描述】:
我在实体之间有一对多的关系。执行此 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;
}
为了简洁起见,我省略了很多代码,但这应该让您对我正在尝试做的事情有一个深刻的了解。请注意,该关系是在父母一方定义的,因为我需要从查询返回的父母名单及其子女。
【问题讨论】:
-
如果您通过编辑帖子在帖子末尾添加一个问题会很好
-
你是如何坚持的?具有级联的父级和子级持久化还是分别持久化每个实体。这会澄清很多事情。
-
Freakyuser,我认为很明显我的问题是我的查询中有重复项。
-
它被持久化在数据库中,子节点有一个指向父表的外键,使用父表的主键。
标签: hibernate jpa duplicates