OneToMany关联更新而不是插入

时间:2013-06-26 16:20:16

标签: hibernate hibernate-mapping

我有一个与子实体有一对多关联的实体。

子实体有2列作为PK,其中一列是FK到父表。

映射看起来像这样:

@OneToMany(cascade = {CascadeType.ALL}, fetch = FetchType.EAGER ) 
@JoinColumn(name="USER_RESULT_SEQUENCES.USER_RESULT_ID", referencedColumnName="USER_RESULT_ID",     unique=true, insertable=true, updatable=false)
private List<UserResultSequence> sequences;

我创建了一个父实例,并将子实例添加到列表中,然后尝试将其保存到DB。

如果子表为空,则会插入所有子项,并且它可以正常工作。如果子表不为空,则更新现有行!

我不知道为什么它更新而不是插入,任何想法为什么会发生这种情况?

谢谢!

1 个答案:

答案 0 :(得分:0)

这应该发生,因为您创建的新父级,您正在将现有子级关联到它。只要有新的子项添加到父项(DB中不存在的子项),这应该不是问题。