Как создать конвертер с аннотацией? - PullRequest
0 голосов
/ 11 января 2019

Я хотел бы создать аннотацию, которая преобразует логическое значение в строку. Например

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 голосов
/ 11 января 2019

Как вы сохраняете в базе данных? Если вы используете Hibernate, есть встроенный тип "yes_no"

yes_no: тип, который сопоставляет SQL CHAR (1) с логическим значением Java.

Так что-то вроде:

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