0
我有一個與子實體一對多關聯的實體。OneToMany關聯更新,而不是插入
子實體有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;
我父創建的實例,並添加子實例列出,然後嘗試將其保存到數據庫中。
如果子表是空的,它將插入所有的子元素,並且完美地工作。如果子表不是空的,它會更新現有的行!
我不知道它爲什麼更新而不是插入,爲什麼會出現這種情況?
謝謝!
但是,小孩PK由2列組成,所以每一行都是唯一的! 我在想什麼? 順便說一句,父PK沒有映射到子實體中,因爲這樣做會讓Hibernate抱怨重複的列。 – Shvalb
是否有插入到具有唯一列('ID')的父表的方法,並且還添加了具有與父代相同的唯一'ID'和另一個列值的免費子代,這些值一起構成子表的PK ?? 我必須擁有它,否則我將不得不爲父進行1次插入,然後獲取其「ID」值,然後對所有孩子進行批量插入 - 這與Hibernate的想法相矛盾! – Shvalb