我有一个与子实体有一对多关联的实体。
子实体有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。
如果子表为空,则会插入所有子项,并且它可以正常工作。如果子表不为空,则更新现有行!
我不知道为什么它更新而不是插入,任何想法为什么会发生这种情况?
谢谢!
答案 0 :(得分:0)
这应该发生,因为您创建的新父级,您正在将现有子级关联到它。只要有新的子项添加到父项(DB中不存在的子项),这应该不是问题。