我有一个以key
,value
和valueType
为列的表格。值可以是int
,long
,boolean
和collection
之一,均表示为db中的字符串。该集合将保存为分隔集合。我希望在从数据库检索期间将这些转换为适当的类型。我发现以下blog post在JPA 2.1中讨论了@Covert。
但我的麻烦是值的类型存储在valueType
属性中。如何将valueType
引入转换器,以便我可以使用它来确定需要转换为哪种类型?
答案 0 :(得分:0)
如果要将属性限制为特定值,可以使用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'))