2012-03-16 6 views
0

Я искал вокруг и не смог найти исправление. Мой файл persistence.xml находится в файле /src/META-INF/persistence.xml, который, просматривая его, является правильным местом для него.Отсутствует поставщик сущности для EntityManager, названный с файлом персистентности в правильном месте

Я использую GlassFish в качестве сервера, и я получаю следующее:

javax.persistence.PersistenceException: No Persistence provider for EntityManager named pers 

Вот моя настойчивость файл:

<?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="pers" transaction-type="RESOURCE_LOCAL"> 
     <provider>org.hibernate.ejb.HibernatePersistence</provider> 
     <class>cs.ee.assignment2.Client</class>  

     <properties> 
      <property name="hibernate.hbm2ddl.auto" value="update" /> 
      <property name="hibernate.archive.autodetection" value="class, hbm" /> 
      <property name="hibernate.show_sql" value="true" /> 
      <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" /> 
      <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/assignment2" /> 
      <property name="hibernate.connection.password" value="root" /> 
      <property name="hibernate.connection.username" value="root" /> 
      <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" /> 
     </properties> 

    </persistence-unit> 
</persistence> 

Любые идеи о том, что проблема может быть будет очень оценили.

+0

У вас есть необходимые спящие банки, доступные в папке lib приложения? – Geek

ответ

1

Хм .. убедитесь, что вы используете PeristenceUnit не контекст в классе сущностей: см http://openejb.apache.org/jpa-concepts.html

Переключить на «сделку» просто чтобы увидеть, если он не слишком.

Также иногда старые классы не выгружаются с сервера должным образом, если вы выполняете перераспределение, вам может потребоваться закрыть его и перезапустить после повторного развертывания.

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