Настройка соединения в Hibernate - PullRequest
0 голосов
/ 27 июня 2011

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

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

Спасибо.

Ответы [ 3 ]

1 голос
/ 04 июля 2011

Я просмотрел документацию hibenate и обнаружил, что есть способ создать собственное соединение, а затем поместить его в hibernate.

Я выполнил следующие шаги: -

  1. Добавлено следующее свойство в hibernate.cfg.xml.

<property name="connection.provider_class">com.home.framework.HibernateConnectionProvider</property>

  1. создал класс HibernateConnectionProvider, который реализует org.hibernate.connection.ConnectionProvider , и переопределил методы из интерфейса.
1 голос
/ 27 июня 2011

Есть возможность настроить спящий режим без какого-либо XML-файла.Juse использует свойства, что-то вроде этого:

HBR_PROPS.put("hibernate.dialect", "org.hibernate.dialect.MySQLDialect");
HBR_PROPS.put("hibernate.connection.driver.class", "com.mysql.jdbc.Driver");
HBR_PROPS.put("hibernate.connection.username", "username");
HBR_PROPS.put("hibernate.connection.password", "somepassword");

и так далее ... затем инициализируйте конфигурацию с помощью:

cfg = new Configuration()
   .addClass(com.example.package.First.class)
   .addClass(com.example.package.First.class);
cfg.setProperties(HBR_PROPS);
sf = cfg.buildSessionFactory();

Теперь вы можете управлять настройками в файле свойств, читаяИзвлеките их из собственного файла "encrypted_hbr_properties.xml" (пример), расшифруйте их в коде и настройте в HBR_PROPS.

Надеюсь, это поможет =)

0 голосов
/ 28 июня 2011

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

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