Замена статической строки в аннотации @Table внешним файлом конфигурации YAML - PullRequest
0 голосов
/ 09 ноября 2018

Мне нужно использовать две разные схемы в одном приложении Java. Сейчас я устанавливаю значение со статическим текстом:

@Table(name = "jhi_user", catalog = "some_catalog")
@Table(name = "jhi_persistent_audit_event", catalog = "some_other_catalog")

Я хочу прочитать эти значения из класса, помеченного @ConfigurationProperties аннотацией, но у меня нет никаких идей, как это сделать правильно.

Я пытался создать enum со статическим подклассом, но он работает только с постоянными значениями.

public enum MyData {
    DB1(Constants.DB1),
    DB2(Constants.DB2);


    public static class Constants {
        public static final String DB1 = ApplicationProperties.getDb1(); //<--- : attribute value must be constant
        public static final String DB2 = "db2";   //<----- works 
    }
}

Можно ли изменить каталог базы данных для разных классов без компиляции кода? Я полагаю, я могу установить его пустым, а затем изменить их с отражением, есть ли лучший способ?

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