1

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

子实体有 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;

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

如果子表是空的,它会插入所有子表并且它工作得很好。如果子表不为空,它将更新现有行!

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

谢谢!

4

1 回答 1

0

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

于 2013-06-26T17:25:27.523 回答