我想创建一个从 boolean 值转换为字符串的注释。例如
public User {
@Id
@Column(name="user_name")
private String name;
@Column(name="active")
//This the CustomAnnotation
@ConvertMyBooleanToString
private boolean isActive;
}
我的自定义注释
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface ConvertMyBooleanToString {
//empty
}
在某处实现
...
return valueFieldThatHasAnnotation ? "Yes" : "No";
...
所以,我不知道如何实现这个注释,以便每次在保存到数据库之前,它都会转换为字符串。
谢谢大家!
最佳答案
你是如何持久化到数据库的?如果你使用hibernate,有一个内置的“yes_no”类型
yes_no: A type that maps an SQL CHAR(1) to a Java Boolean.
所以类似:
@Type(type="yes_no")
public boolean isActive;
关于java - 如何使用Annotation创建转换器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54136920/