Мне нужно использовать две разные схемы в одном приложении 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
}
}
Можно ли изменить каталог базы данных для разных классов без компиляции кода? Я полагаю, я могу установить его пустым, а затем изменить их с отражением, есть ли лучший способ?