2013-06-11 40 views
0

我有兩個實體: 家長 (ID,姓名,lastNumberOfChild) 和 兒童(ID,數量)。改變父實體

當我將一個孩子添加到父母的孩子列表中時,孩子獲得了新的數字,父實體屬性lastNumberOfChild正在遞增1。我希望這發生在我做entityManager.merge(父)的時候,在刷新之前(這在整個案例中很重要)。 我試圖用@PrePersist註釋在Child實體上做到這一點。它只能工作在一半。 該屬性已由@PrePersist方法更改,但之後尚未保存到數據庫。

你有什麼想法我可以實現這個?

感謝每一個想法

+0

這很奇怪,我希望它會在prePersist中找到,您使用的是哪個版本?您是否使用現場或財產訪問? – James

+0

我發現@PrePersist中不能修改父實體(原因是最優化)。所以我必須在執行合併(實體)之前修改所有實體。 (我使用eclipselink 2.3.2,屬性訪問)。 – romsac

回答

0

我發現,在@PrePersist不能修改父實體(原因是optimalization)。所以我必須在執行合併(實體)之前修改所有實體。