У меня есть проект JavaFX Maven в IntelliJ, который использует Hibernate. Когда приложение начинает, я получаю следующее сообщение об ошибке:Отсутствует поставщик постоянства для entitymanager с именем xyz
Нет поставщик сохраняемости для EntityManager с именем хуга
Почему? Мой META-INF/persistence.xml находится в myproject/src/main/resources (каталог указан как папка ресурса в настройках проекта). Я уверен, что я загрузил все Hibernate JAR через Maven.
Мой persistence.xml правильно:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence">
<persistence-unit name="xyz">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>entity.User</class>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.SQLiteDialect"/>
<property name="javax.persistence.jdbc.url" value="jdbc:sqlite:java.sqlite"/>
<property name="javax.persistence.jdbc.driver_class" value="oracle.jdbc.driver"/>
<property name="hibernate.hbm2ddl.auto" value="none"/>
<property name="hibernate.show_sql" value="false"/>
<property name="javax.persistence.schema-generation.database.action" value="create"/>
</properties>
</persistence-unit>
</persistence>
Java код:
factory = Persistence.createEntityManagerFactory("xyz");
В моем старом проекте, не Maven код выше работал отлично.
Вы проверили свой построенный артефакт? Он содержит persistence.xml и находится в правильном месте? – Thomas
Просто переименуйте WEB-INF в META-INF, и он должен работать –
Это моя ошибка при написании вопроса. Папка называется ** META-INF **, а не WEB-INF. –