Мне нужно централизовать все настройки для нашего веб-приложения на Java в одном файле .properties.У меня все еще может быть файл hibernate.cfg.xml для добавления сопоставлений в классы сущностей, но мне нужно сохранить все наши настройки для базы данных и настраиваемые пути в одном файле .properties.
Первоначально я сохранял свои конфиги в hibernate.cfg.xml следующим образом ....
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.url">my jdbc connection</property>
<property name="connection.driver_class">oracle.jdbc.OracleDriver</property>
<property name="connection.username">user</property>
<property name="connection.password">password</property>
<property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>
<property name="hibernate.current_session_context_class">managed</property>
<mapping class="myEntityClass"/>
</session-factory>
</hibernate-configuration>
Теперь я хочу переместить «connection.url», «connection.username» и"connection.password" к моему собственному файлу .properties.Код для создания моего класса конфигурации hibernate изменился с.
new AnnotationConfiguration().configure();
на
new AnnotationConfiguration()
.setProperty("connection.url", databaseUrl)
.setProperty("connection.username", databaseUser)
.setProperty("connection.password", databasePassword)
.configure();
, что казалось концептуально простым.К сожалению, я получаю следующую ошибку при попытке использовать сеанс Hibernate, который работал с предыдущей конфигурацией.
Пользователь должен предоставить соединение JDBC
Есть идеи?Мне кажется, что когда Hibernate видит, что эти свойства отсутствуют в файле hibernate.cfg.xml, он предполагает, что все настройки будут добавлены вручную, и полностью игнорирует xml.