Отсутствует поставщик сохраняемости для EntityManager с именем (Новый)

String a = new String("foo");
String b = new String("foo");
System.out.println(a == b); // prints false
System.out.println(a.equals(b)); // prints true

Убедитесь, что вы понимаете, почему. Это потому, что сравнение == сравнивает только ссылки; equals() метод сопоставляет содержимое по символу.

Когда вы вызываете new для a и b, каждый получает новую ссылку, указывающую на "foo" в таблице строк. Ссылки разные, но контент один и тот же.

0
задан Thore Rin 19 March 2019 в 05:27
поделиться

1 ответ

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

<persistence-unit name="TimeEven DataBasePU">

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

Или, опубликовать свой [ 113] может быть полезно для решения вашей проблемы.

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

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

<dependency>
  <groupId>org.eclipse.persistence</groupId>
  <artifactId>javax.persistence</artifactId>
  <version>2.1.1</version>
  <scope>provided</scope>
</dependency>
0
ответ дан Latera 19 March 2019 в 05:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: