Сохранить hibernate.cfg. xml после изменений - PullRequest
1 голос
/ 16 апреля 2020

Я хочу сохранить свой hibernate.cfg. xml после некоторых изменений свойств. Я могу изменять свойства во время выполнения, но мне нужно сохранить изменения, чтобы я мог получить доступ к новым свойствам при следующих выполнениях.

В hibernate.cfg. xml у меня есть свойства, такие как:

<hibernate-configuration>
   <session-factory>
      //...
      <property name="hibernate.connection.username">berkan</property>
      <property name="hibernate.connection.password">123456</property>
      //...
   </session-factory>
</hibernate-configuration>

Я могу изменить свойства с помощью setProperty () во время выполнения, например:

configuration = new Configuration().configure();
configuration.setProperty("hibernate.connection.username", "berkantest");
configuration.setProperty("hibernate.connection.password", "098765");
sessionFactory = configuration.buildSessionFactory(new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build());

Но после остановки в данный момент выполняется сборка Я не могу получить доступ к новому имени пользователя и паролю при следующих выполнениях. Я хочу сохранить их в файле hibernate.cfg. xml.

1 Ответ

0 голосов
/ 16 апреля 2020

Направление, в котором вы думаете, очень неверно. Обычно это системный пользователь (выделенный пользователь для компонента или подсистемы), который помещается в файл конфигурации Hibernate. Если вы хотите иметь выделенное соединение для каждого пользователя, это означает, что на вашем сервере баз данных уже есть все эти пользователи и пароли, созданные тем или иным способом. Я бы посоветовал вообще не сохранять пользователя, или, если вы хотите сохранить пользователя, сохраните его вне конфигурационного файла hibernate под какой-либо таблицей или файлом с именем - например, LastLoggedUser.

Обычно многопользовательский сценарий кодируется следующим образом. У вас есть один или несколько пользователей базы данных, которые могут иметь разные разрешения f.ex. - пользователь только для чтения отчетов и пользователь чтения для регулярного использования. Затем сверху вы моделируете своих логических пользователей. У вас есть такси. таблица в базе данных с именем user, где обычные пользователи будут использовать пользователя базы данных для чтения, записи, а пользователи, занимающиеся аналитикой, будут иметь доступ к отчетному пользователю. Теперь это только пример.

Только не пытайтесь изменить свой конфигурационный файл hibernate во время выполнения. В 9/10 случае это неправильно.

...