JPA 2.1引入了一個漂亮的新功能Attribute Converter - 請參閱文章例如這裏:http://www.thoughts-on-java.org/jpa-21-how-to-implement-type-converter/如何在JPA <= 2.0中模擬屬性轉換器?
它允許你有一個特定類型的屬性,並將其作爲別的東西存儲在數據庫列中。例如。您有一個字段顏色類型爲java.awt.Color
的實體,但您希望將其作爲String
存儲在數據庫中,例如RED
或WHITE
。
@Entity
class Tag {
String name;
java.awt.Color color; // I want it to be stored as a different type
}
有沒有得到類似的結果,在JPA < = 2.0的一種方式?我想爲而不是和enum
。
我們沒有區分業務領域層和@Entity
類。當然,如果在它們之間存在某種映射關係,我可以想象許多有效的解決方案。我正在尋找的是一個解決方案,我們在業務領域層自己使用直接@Entity
類。
在我以前工作的系統中,他們每次使用前都會序列化類並反序列化字段。 – user902383
@ user902383,你能更具體嗎?我直接使用'@ Entity'類作爲域類。如果域類與'@ Entity'類不同,我可以想象得到一百萬個解決方案。 –
依賴於實現。有些「類型轉換器」在什麼時候回來。你沒有提及你的實現 –