hibernate.properties не найден в проекте maven с использованием hibernate - PullRequest
0 голосов
/ 22 мая 2018

Я пытался решить эту ошибку многими способами (используя проект maven)

  1. Я поместил файл hibernate.cfg.xml в папку src, затем получил ту же ошибку (hibernate.properties не найден)
  2. Я поместил файл hibernate.cfg.xml в папку ресурсов, затем получил ту же ошибку (hibernate.properties не найден)
  3. Я поместил файл hibernate.cfg.xml в папку webapp / WEB-INF, затем получилта же ошибка (hibernate.properties не найден)
  4. Все свойства базы данных, которые я написал в hibernate.cfg.xml, приведены ниже

<?xml version='1.0' encoding='UTF-8'?>  
<!DOCTYPE hibernate-configuration PUBLIC  
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"  
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">  
 
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.connection.driver_class">org.postgresql.Driver</property>
        <property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/testdb</property>
        <property name="hibernate.connection.username">postgres</property>
        <property name="hibernate.connection.password">sql123</property>
        <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
        <property name="hbm2ddl.auto">create </property>
        <property name="show_sql">true</property>
        <property name="format_sql">true</property>
        <mapping resource="Employee-hbn.xml" />
    </session-factory>
</hibernate-configuration>
Я получил следующее исключение:

May 22, 2018 2:28:38 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {5.3.0.Final}
May 22, 2018 2:28:38 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
Could not locate cfg.xml resource [/src/main/java/hibernate.cfg.xml]
error

Если у вас есть решение для этого, скажите мне

Заранее спасибо ....

Ответы [ 2 ]

0 голосов
/ 22 мая 2018

Не удалось найти ресурс cfg.xml [/src/main/java/hibernate.cfg.xml] error

Это означает, что Hibernate пытается найти hibernate.cfg.xml в

/src/main/java/hibernate.cfg.xml.

Это неверный путь.

Вы должны:

  1. Поместить hibernate.cfg.xml в папку resources.
  2. Использовать Configuration configuration = new Configuration().configure() для конфигурации.
  3. Обновите проект и убедитесь, что hibernate.cfg.xml находится в корне папки build.

Некоторые пояснения:

Configuration configuration = new Configuration().configure()

означает то же самое, что и

Configuration configuration = new Configuration().configure("hibernate.cfg.xml");

И эта строка говорит Hibernate найти hibernate.cfg.xml в корне пути к классам.Например, если вы строите jar, этот файл должен находиться в корне jar.

. Для war корень пути к классу равен WEB-INF/classes.

* 1046.* Когда вы помещаете файлы в папку resources, Maven помещает все содержимое папки resources в корень пути к классам (в корень jar или в).Таким образом, у вас не будет папки resources в jar, только ее содержимое.

Ваша IDE делает то же самое при обновлении проекта.

0 голосов
/ 22 мая 2018

Ваш hibernate.cfg.xml должен быть виден в пути к классам.

Для веба размещение его в WEB-INF / classes, вероятно, будет работать.

Для проекта maven, который не является веб-, вы можете использовать / src / main / resources /, которая является папкой ресурсов maven по умолчанию (или использовать другую, если вы ее переключили).

Также в вашем pom.xml вам нужна зависимость от hibernate-core

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