Обходной путь для @Formular bug - PullRequest
0 голосов
/ 25 апреля 2018

У меня есть небольшая проблема, чтобы найти подходящий обходной путь для этой ошибки.

Мне нужна и дата рождения пользователя, и следующий день рождения в качестве постоянного поля в классе сущностей. Упомянутый обходной путь использует @ColumnTransfer, который также нуждается в аннотации @Column. Но нет столбца «nextBirthday» или чего-то подобного, и ссылка на birthdate не будет работать (столбец определен неоднозначно).

Мой оригинальный User класс:

@Entity
public class User {
    @ID
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "USERS_ID_GENERATOR")
    private long id;

    @Column
    @Temporal(TemporalType.DATE)
    private Date birthdate;

    @Formula("add_months(birthDate, floor(months_between(sysdate - 1, birthDate) /12 + 1) * 12)")
    private Date nextBirthday;

    // More Fields
}

Моя первая попытка использовать @ColumnTransformer:

@Entity
public class User {
    @ID
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "USERS_ID_GENERATOR")
    private long id;

    @Column
    @Temporal(TemporalType.DATE)
    private Date birthdate;

    @Column("birthdate")
    @ColumnTransformer(read = "add_months(birthDate, floor(months_between(sysdate - 1, birthDate) /12 + 1) * 12)")
    private Date nextBirthday;

    // More Fields
}

Это не работает, потому что есть два поля, относящиеся к дате рождения.

Кто-нибудь знает обходной путь без ссылки на столбец?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...