Можно ли заменить значение каталога @Table (name = "REVINFO", catalog = "another_catalog") значением внешнего файла конфигурации? - PullRequest
0 голосов
/ 06 июля 2018

Я использую Hibernate Envers и создал собственную сущность REVINFO.Объект был:

@Entity
@RevisionEntity(AuditRevisionListener.class)
@Table(name = "envers_info", catalog = "another_catalog")
public class AuditEnversInfo extends DefaultRevisionEntity {

    @Column(name = "user_id")
    private String userId;
}

Мой вопрос: как я могу заменить значение поля каталога в аннотации @Table на основе внешнего файла конфигурации, такого как значение application.properties в SpringBoot?Я хочу, чтобы он был динамическим, поэтому, как только я изменю внешний файл конфигурации на другой каталог / схему, он автоматически изменит свой каталог / схему, чтобы сохранить проверенную запись.

1 Ответ

0 голосов
/ 09 июля 2018

Envers позволяет вам установить это значение через конфигурацию, указав одно из двух значений, в зависимости от реализации вашей платформы базы данных.

org.hibernate.envers.default_schema
org.hibernate.envers.default_catalog

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

org.hibernate.envers.default_catalog=another_catalog

Вы можете определить эту конфигурацию в нескольких местах

  • В вашем файле application.yml или application.properties используется spring-boot.
  • В java-конфигурации вашего весеннего приложения для фабрики Session или EntityManager.
  • В файле hibernate.properties в корне пути к классам вашего приложения.
...