2012-09-20 34 views
1

我有兩個對象。安排和參與部分。安排和InvolvedParty之間存在關聯。openjpa:一個新的實體與一個分離對象的關聯

當我創建我的第一個安排並將InvolvedParty附加到它時,在持續期間沒有問題。 當我創建我的第二個排列並從數據庫中提取先前存儲的InvolvedParty以將其附加到第二個排列時,持續不起作用。

這是錯誤: [20/09/12 9:53:40:998 CEST] 00000020 RegisteredSynÊWTRN0074E:異常從before_completion同步操作抓:org.apache.openjpa.persistence.EntityExistsException:嘗試堅持分離對象「com.xxx.crs.model.involvedparty.InvolvedParty-com.xxx.crs.model.involvedparty.InvolvedParty-101」。如果這是一個新實例,請確保任何versino和/或自動生成的主鍵字段在持續時爲空/默認值。 FailedObject:com.xxx.crs.model.involvedparty.InvolvedParty-com.xxx.crs.model.involvedparty.InvolvedParty-101

現在我該怎麼做?安排是一個新的對象,所以考慮到我應該堅持下去。但是一項安排是InvolvedParty,這是一個分離的對象,所以我應該做一個合併?這感覺像是一個矛盾。

回答

1

確保您在用於保存排列的同一事務中從數據庫中獲取現有的InvolvedParty。如果您在兩個單獨的操作中執行這些操作,則在第一個事務完成時持久性上下文結束,並且OpenJPA將將InvolvedParty視爲分離對象。

欲瞭解更多信息,請參閱OpenJPA手冊中的Persistence Context

相關問題