2017-01-09 43 views
0

硬要,更新和實體的刪除可以用@Pre/PostPersist@Pre/PostUpdate@Pre/PostDelete JPA註釋進行跟蹤。如果實體屬性在關係中使用過,也就是說,如果另一個實體已將其用作關係字段的值或添加到關係集合中,我想更改它。如何在關係中使用實體屬性?

使用@PrePostLoad是困難的,因爲很難排除其負載無關以關係的使用。

我想使用JPA普拉/提供便攜式解決方案,但我很好奇提供針對性的解決方案,以及。

具體想法是讓用戶創建和的形式持續實體(例如聯繫人信息的實例),然後將它們與在另一種形式中創建的另一實體(例如,與發送方屬性的文檔)相關聯。用於關聯的(已經保存的)可用實體顯示在表格中。該表應該可以由計數器對最頻繁的或最近使用實體的時間戳進行排序。

我使用JPA 2.1(2.6.4的EclipseLink目前)。

+0

你能解釋一下你爲什麼要這麼做。很少有人會選擇不被另一個實體使用的實體,這需要一對一,多對一的選擇(通常是一件壞事)。這就像有一個不涉及一個人的寬鬆地址。 –

+0

我解釋了具體的想法。 –

+0

這是否意味着它是一個多對多的關係?你是否有實體之間的雙向關係? –

回答

0

我通過添加Storage接口它包裝EntityManager並允許這一建議已經提出了通過像

@FunctionalInterface 
interface Callback { 
    void callback(EntityManager e); 

登記前和後的持久性的回調(功能接口是一個真正的祝福)處理在UI更新另一個用戶,但顯然刪除。

相關問題