簡體   English   中英

復合主鍵的休眠問題

[英]hibernate issues with composite primary key

我在使用Hibernate時遇到了一些問題。 我們需要將一個對象及其子對象一起保存。 每個孩子都有一個復合主鍵。 按鍵的一個屬性將由觸發器插入。 在調用saveOrUpdate(Object)之前,將從程序中設置另一個屬性。

但是我們無法保存該對象。 Hibernate引發異常Same identifier is already exists in the session

我嘗試了session.clear() ,但是遇到了同樣的異常。 當我嘗試session.merge() ,只有最后一個孩子被保存,其他孩子被忽略。

如果不再需要在同一Hibernate Session中保存對象,則可以在使用Session.evict()保存之后分離它們:

// children is the collection of detached children, ready to save
for (Child child : children){
    session.save(child);
    session.evict(child);
}

另外,在Hibernate論壇中的該條目可能會有所幫助: 在Insert Trigger和ID generator之前 有一個AbstractPostInsertGenerator的實現,可以將其集成以滿足您的需求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM