Измените значение поля типа аннотации @Type во время выполнения - PullRequest
0 голосов

Мы используем два дБ в нашем проекте: postgres и h2 (для тестов). Также мы используем тип jsonb в postgres, но h2 не имеет этого типа.Чтобы тесты работали, мне нужно решить эту проблему.

Идея состоит в том, чтобы использовать тип VARCHAR sql для поля учетной записи в h2 и обрабатывать json как строку.

Я хочу установить значение типадля hibernate @Type во время выполнения, например:

    @Column(name = "accounts")
    @Type(type = "${dynamic_type}")
    private List<Long> accounts;

для использования одного из двух значений type = "jsonb" или type = "my.company.JsonList, зависит от типа dbms (postgresql / h2).

Я уже пытался использовать SpEl, но это вызывает ошибку, потому что в аннотации нет значения param

Возможно ли это?

Что является лучшим методом дляобрабатывать различные схемы базы данных (разные типы данных) в разных профилях (test / dev)?

...