2011-07-12 27 views
4

我使用的EclipseLink在GlassFish中與我的JavaEE應用,並有一定的java.util.Locale中,列在我的模型類,我想保存在我的數據庫表中字符串列。Java的JPA類轉換器

我知道Hibernate的船舶它的轉換註釋,我可以建立自己的轉換器實現org.eclipse.persistence.mappings.converters.Converter。但是,我必須依賴這些庫中的任何一個來使用它們。

有沒有辦法讓不直接依賴於的EclipseLink或Hibernate和使用JPA規範呆在這個功能?

回答

7

JPA並沒有提供該功能。(...事實上,它的特徵庫是非常,非常基本的,您可以通過創建一個虛擬屬性達到相同的,所以你在你的班上,有一個String字段,被映射,然後用setLocale(Locale)和Locale getLocale()創建一個虛擬屬性,該屬性將字符串轉換爲語言環境並返回它或提取語言環境的字符串表示形式。 ,但它是避免使用EclipseLink或Hibernate自定義註釋的唯一方法。

5

JPA 2.1介紹AttributeConverter和@Converter註釋。

我曾與DataNucleus將支持它。和的EclipseLink支持似乎是在development。我不知道Hibernate。