我有一个以key
、value
和valueType
为列的表。值可以是int
、long
、boolean
和collection
中的一个,所有这些都表示为数据库中的字符串。集合将另存为分隔的集合。我希望在从数据库检索的过程中,将这些转换为适当的类型。我在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'))