2015-02-21 2 views
0

Да, я уже искал здесь для этого вопроса, но у меня есть эта проблема после исследований.Отсутствует поставщик сущности для EntityManager с именем foo

Итак, я делаю простой автономный проект, содержащий только сущности и DAO. Я использую IntelliJ.

EDIT: Моя информация о соединении с БД хороша, я уверен. И у меня есть еще один проект (GWT), и я использую тот же метод -> он работает

Моя папка META-INF находится в корневой папке Src, так что это мой persistence.xml:

`<persistence-unit name="jpa"> 
    <!--<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>--> 
    <class>ejbpersistance.entities.User</class> 
    <class>ejbpersistance.entities.Comment</class> 
    <class>ejbpersistance.entities.Article</class> 
    <properties> 
     <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/ejb"/> 
     <property name="javax.persistence.jdbc.user" value="root"/> 
     <property name="javax.persistence.jdbc.password" value="root"/> 
     <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> 
    </properties> 
</persistence-unit>` 

и это мой код:

public EntityManagerFactory getEntityManagerFactory() { 
    if(emf == null) 
     emf = Persistence.createEntityManagerFactory("jpa"); 
    return emf; 
} 

Я пытался с поставщиком Hibernate, поставщиком Eclipse, но всегда эта проблемой. Может кто-нибудь мне помочь? И если я пропустил что-то в другой теме, касающейся этой проблемы, я прошу прощения за потерю времени.

+0

Есть ли какая-либо реализация JPA на пути к классам? Hibernate jars, банки EclipseLink, банки OpenJPA на пути к классу вашего приложения? –

+0

Я использую Maven и да -> Внедрение Hibernate – Buzz2Buzz

+0

Тогда провайдер постоянства должен быть ' org.hibernate.ejb.HibernatePersistence', но, насколько я помню, это даже не нужно. Отправьте свой стек для лучшей помощи –

ответ

0

В этом месте находится единица измерения продолжительности.

  1. проверить, если persistence.xml в вашем пути к классам: Если это не-Java EE приложений (J2SE)

    Файл баночка или каталог которого META-INF каталог содержит файл persistence.xml называется корнем блока persistence.please check locationpath в вашей среде IDE, Eclipse: Свойства проекта -> Путь сборки Java -> ****.

  2. проверить, если поставщик зимуют в вашем пути к классам раз вы можете попробовать раскомментировать строку поставщика в файле P.xml org.eclipse.persistence.jpa.PersistenceProvider </поставщика> ->

Благодаря

0

Убедитесь persistence.xml находится в каталоге META-INF и путь класса включает в META-INF родителю каталог.

Вы также не отобразили persistence.xml. Окружающий тег <persistence> должен содержать правильное пространство имен, например.

<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"> 
... 
</persistence> 
Смежные вопросы