2016-04-29 72 views
0

我正在使用@entity從javax.persistence.Entity創建我的實體,在這種特殊情況下,我必須創建一個瞬態屬性(private Boolean assigned;),並使用來自org的PagingAndSortingRepository。 springframework.data.repository創建接口來管理我的數據庫實體。自動將值分配給瞬態屬性

當List(OneToMany)屬性爲空時,我需要分配此值(布爾分配),所以我正在使用if子句以編程方式執行此操作,問題是我必須編寫if if子句,並且我希望知道是否有可能以某種方式自動分配該變量。

在此先感謝。

回答

1

如果您需要在數據庫中堅持前設置該標誌的價值,我會建議使用實體監聽@PrePersist,basicallu給你的可能性,你堅持的對象之前執行某些邏輯,在方法,你可以檢查如果該數組爲空並將該值設置爲false。 還有其他事件,諸如:

@PostLoad的實體之後執行已經加載到當前 持久性上下文或實體已被刷新。

@PostLoad 
public void setAssigned() { 
    //Your logic for set to true or false the transient variable. 
} 

我覺得這是一個選項,在由供應商進行管理,以做邏輯只在一個地方。閱讀更多關於它here

+0

正是我所需要的。 – 8370