2017-01-03 139 views
0

我被要求創建一個JPA實體bean,以便它在創建時獲得某些屬性的默認值。在將實體持久化到數據庫之前,我所做的就是在代碼中爲這些屬性設置值,但我被告知這是錯誤的做法。我在數據庫中爲這些屬性的列設置了默認值,但是當創建新實體時,它們不會獲得默認值。如何在創建實體時設置默認值?

解決這個問題的正常方法是什麼?我無法通過Google搜索找到適當的文檔。

+1

*創建它時,它將獲得某些屬性的默認值*:因此,從構造函數中初始化屬性。這就是您創建實體時所調用的內容,就像任何其他對象一樣。 –

+0

我明白了。有點奇怪,我還沒有碰到Entities的構造函數。 –

回答

0

一般來說,您將遵循一種慣例,即存儲庫和repositoryImpl用於保存或重新獲取數據。

因此,爲每個存儲庫創建一個名爲wire(Object o)/ bind(Object o)等的方法,並在創建的方法中設置默認值。 1)調用創建的方法,然後調用保存方法 2)在創建的方法內調用save方法,每當你想保存數據時不要使用entitymanager的直接保存/持久性,總是調用創建的wire()/ bind()並在該方法中調用save/persist。

希望能幫助你。