2015-12-18 51 views
0

我正在使用@Convert(converter = CoverConverter.class)在将属性值存储到数据库之前进行转换,反之亦然。我必须在每个使用特定ENUM的地方声明这个注释。现在我们称它为TestENUM有没有办法将@Convert直接声明到ENUM

但是,这个特殊的ENUM在100多个地方使用,我不确定我的组中的其他开发人员在使用此ENUM时是否记得添加此注释。

所以我想知道是否有我可以在一种方式,只要它是用来将被被持续到数据库之前从数据库通过JPA

转换,反之亦然取出时直接注释一个ENUM的方式所以例如:

@Convert(convert = true) 
public enum TestENUM {} 

回答

2

你应该能够创建一个转换器,并使用自动应用属性:如果自动应用元素被指定为真

持久 提供商必须与转换器自动地应用到指定的目标类型的所有映射 属性的所有实体在 持久单元除了用于其转换 重写由转换注释(或XML当量)的装置属性。

http://docs.oracle.com/javaee/7/api/index.html?javax/persistence/Convert.html

@Converter(autoApply = true) 
public class MyEnumConverter implements Converter{ 

} 
+0

太谢谢你了。 –

相关问题