Исключение - PullRequest
       47

Исключение

0 голосов
/ 11 ноября 2010

Мы работали над этим уже несколько дней, и мы в тупике. Предполагается, что это простое руководство с использованием TopLink. Мы пытаемся заставить это работать, прежде чем мы сделаем наше настоящее веб-приложение. Это следующее исключение, которое мы получаем:

Исключение в потоке "main" javax.persistence.PersistenceException: Отсутствует поставщик сохраняемости для EntityManager с именем pu1:
Следующие провайдеры:
oracle.toplink.essentials.PersistenceProvider
oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider
Возвращено значение null для createEntityManagerFactory.
at javax.persistence.Persistence.createEntityManagerFactory (Persistence.java:154)
at javax.persistence.Persistence.createEntityManagerFactory (Persistence.java:83)
at client.Client.main (Client.java:45)
Результат Java: 1

это происходит после выполнения этой строки из нашего класса драйвера ЭДС:

emf = Persistence.createEntityManagerFactory("pu1");

Я предполагаю, что проблема в нашем файле persistence.xml (который находится в правильной папке (WEB-INF / classes / META-INF). Также netbeans сгенерировал для нас файл xml:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence"  
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence   
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="JPAExamplePU" transaction-type="JTA">
<provider>oracle.toplink.essentials.PersistenceProvider</provider>
<jta-data-source>SomeDB</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="toplink.ddl-generation" value="drop-and-create-tables"/>
</properties>
</persistence-unit>
</persistence>

Мы также подумали, что это может быть добавление проблемы с библиотекой или что-то в этом роде. Буду признателен за любую оказанную помощь. Спасибо

1 Ответ

3 голосов
/ 11 ноября 2010

У вас неправильное имя персистентного юнита.Используйте тот из xml (то есть тот, который определен с <persistence-unit name="..."):

emf = Persistence.createEntityManagerFactory("JPAExamplePU");
...