Hibernate как сделать имя схемы настраиваемым для класса сущностей - PullRequest
0 голосов
/ 27 августа 2018

Я пытался сделать имя схемы в классе Entity настраиваемым.Код, который я пробовал для моего приложения springboot, приведен ниже.

    @Entity
    @Table(name="Employee", schema=Employee.schemaName)
             public class Employee implements Serializable {
        @Autowired
        private static Environment env;
        public static String schema =env.getProperty("databaseSchema");
        public static final String schemaName = schema; 
        ..........
        }

Здесь я пытался получить имя схемы из моего файла конфигурации с помощью объекта Environment и установить значение в schema в аннотации @Table.Но я получаю сообщение об ошибке в имени схемы в аннотации @Table, что «Значение атрибута аннотации Table.schema должно быть константным выражением».И если я удаляю статический финал из переменных схемы и schemaName, то также получаю сообщение об ошибке внутри @Table, которое «не может сделать статическую ссылку на нестатическое поле Employee.schemaName».Есть ли способ сделать имя схемы настраиваемым?Заранее спасибо.

1 Ответ

0 голосов
/ 27 августа 2018

Может быть, Hibernate multi-tenancy

см. Документацию здесь

Multi-tenancy позволяет обслуживать один экземпляр приложения для нескольких арендаторов на одном хост-сервере.Обычно это выполняется разделением баз данных, разделением схем или разделением схем.

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