Отсутствует поставщик сохраняемости для EntityManager с именем (Новый) - PullRequest
0 голосов
/ 10 марта 2019

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

Я использовал это для вызова единицы персистентности,

EntityManagerFactory emf = Persistence.createEntityManagerFactory("TimeEven DataBasePU");

Это то, что возвращается при попытке запустить файл,

Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named TimeEven DataBasePU
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:85)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54)
at internal.assesment.TimeTableEventList.main(TimeTableEventList.java:110)
C:\Users\User\Documents\NetBeansProjects\Timetable\nbproject\build-impl.xml:1051: The following error occurred while executing this line:
C:\Users\User\Documents\NetBeansProjects\Timetable\nbproject\build-impl.xml:805: Java returned: 1

Этострока 805, где, как представляется, ошибка возникает из

<java classname="@{classname}" dir="${work.dir}" failonerror="${java.failonerror}" fork="true">

Как уже говорилось ранее,

Я уже добавил провайдера под именем единицы сохраняемости,

<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>

И я позаботился о том, чтобы единица постоянства находилась в папке META-INF,

C:\Users\User\Documents\NetBeansProjects\Timetable\src\META-INF\persistence.xml

Она находится в пути к классам, поэтому я не уверен, где лежит ошибка.

Редактировать 1. Да, я скопировал и вставил из XML-кода (я тоже там неправильно написал, ха-ха)

Изображение персистентности

Редактировать2.

Изображение файлов и библиотек

Редактировать 3.

Исходный каталог

1 Ответ

0 голосов
/ 10 марта 2019

Я думаю, что исключение, которое вы опубликовали, вызвано тем, что нет единицы сохраняемости, соответствующей имени, которое вы передали в Persistence.createEntityManagerFactory. В вашем случае:

<persistence-unit name="TimeEven DataBasePU">

Итак, не могли бы вы проверить свой persistence.xml, если уверены, что имя единицы персистентности совпадает с тем, что вы написали в коде?

Или, размещение вашего persistence.xml может помочь решить вашу проблему.

РЕДАКТИРОВАТЬ 1: Можете ли вы проверить свои зависимости?

Если вы используете maven (pom.xml), он должен иметь:

<dependency>
  <groupId>org.eclipse.persistence</groupId>
  <artifactId>javax.persistence</artifactId>
  <version>2.1.1</version>
  <scope>provided</scope>
</dependency>
...