2012-03-10 3 views
4

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

<?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> 

Точная ошибка я получаю сейчас: исключение Execution (В /app/controllers/class.java вокруг линии 98) PersistenceException произошел: нет поставщик Постоянства для EntityManager имени JPA

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

22: 03: 53,084 INFO ~ Подключение к JDBC: MySQL: // локальный/studentapplication useUnicode = да & characterEncoding = UTF-8 & connectionCollation = utf8_general_ci

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

-controllers
-моделей
Вид
м- INF
| _persistense.xml

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

Томас

ответ

4

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

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

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

Изменить его

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

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

+0

Позвольте мне подбодрить вас тем, что погода в вашем регионе в настоящее время намного приятнее, чем здесь, на балтийском море. Добро пожаловать! –

Смежные вопросы