使用JPA的类型转换取决于同一实体中的另一个属性



我有一个以keyvaluevalueType为列的表。值可以是intlongbooleancollection中的一个,所有这些都表示为数据库中的字符串。集合将另存为分隔的集合。我希望在从数据库检索的过程中,将这些转换为适当的类型。我在JPA 2.1中发现了以下关于@Covert的博客文章。

但我的问题是,值的类型存储在valueType属性中。如何将valueType引入转换器,以便使用它来决定需要转换为哪种类型?

如果要将属性限制为特定值,可以使用enum属性并使用CustomEnumConverter类。这里有一个例子:

http://java.dzone.com/articles/mapping-enums-done-right.

现在,我知道MySQL支持它。在SQL server中,您可以通过以下方式限制值:

mycol VARCHAR(10) NOT NULL CHECK (mycol IN('val1', 'val2', 'val3'))

最新更新