如何使用注释创建转换器?

时间:2019-01-10 21:09:50

标签: java annotations metadata data-annotations java-6

我想创建一个从boolean转换为String的注释。例如

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";
...

因此,我不知道如何实现此批注,因此每次保存到数据库之前,它都会转换为字符串。

谢谢大家!

1 个答案:

答案 0 :(得分:1)

您如何持久存储到数据库?如果您使用的是休眠模式,则有一个内置的“ yes_no”类型

  

yes_no:一种将SQL CHAR(1)映射到Java布尔值的类型。

类似这样:

@Type(type="yes_no")
public boolean isActive;