EclipseLink: нет поставщика сохраняемости для EntityManager - PullRequest
4 голосов
/ 11 марта 2012

Я пытаюсь разработать веб-приложение.Я начал создавать Play!Рамочный проект в Eclipse.Для части модели я решил использовать JPA, и поскольку я уже создал базу данных, я искал способ автоматически сгенерировать классы модели.Я преобразовал его в ограненную форму и использовал Dali для создания сопоставления с базой данных.Во время настройки мне предложили выбрать реализацию JPA, поэтому я выбрал EclipseLink 2.1.3 Helios в качестве пользовательской библиотеки.Все банки добавлены в мой проект.После поиска похожих ошибок я изменил файл persistence.xml следующим образом:

    <?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.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_2_0.xsd">
    <persistence-unit name="StudentApplication">
        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
        <class>models.Grade</class>
        <class>models.GradePK</class>
        <class>models.Student</class>
                <properties>
            <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/studentapplication"/>
            <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
            <property name="javax.persistence.jdbc.user" value="root"/>
            <property name="javax.persistence.jdbc.password" value="root"/>
        </properties>
    </persistence-unit>
</persistence>

Точная ошибка, которую я получаю сейчас: Исключение при выполнении (в /app/controllers/class.java в строке 98) Произошло исключение PersistenceException: Отсутствует поставщик сохраняемости для EntityManager с именем jpa

. Я должен отметить, что в application.conf я объявил соединение с БД, и при запуске приложения я получаю

22: 03:53,084 ИНФОРМАЦИЯ ~ Подключено к jdbc: mysql: // localhost / studentapplication? UseUnicode = yes & characterEncoding = UTF-8 & connectionCollation = utf8_general_ci

Наконец, структура файла:

-контроллеры-моделей-ПросмотрыМ- INF| _persistense.xml

Как вы, возможно, поняли (кроме моего представителя), я новичок в разработке веб-приложений и, в частности, в JPA.Я был бы более чем благодарен за любую помощь.Я заранее извиняюсь, если разместил ненужную информацию или пропустил обязательную информацию.Спасибо за ваше время.

Томас

1 Ответ

4 голосов
/ 11 марта 2012

Кажется, вы ссылаетесь на единицу сохраняемости в вашем приложении под другим именем, чем в persistence.xml .Ваш модуль персистентности называется «StudentApplication» в persistence.xml .Однако в сообщении об ошибке указано, что в вашем приложении оно называется «jpa».

Предполагается, что вы используете диспетчер управляемых сущностей приложения.1009 * Измените его на

EntityManagerFactory emf = Persistence.createEntityManagerFactory("StudentApplication");
...