开发者

No Persistence provider for EntityManager - Infamous error

I have been wrestling with this error for last few days. Please someone point out where I am going wrong.

I am trying to use JPA with eclipselink. It worked fine. To check the behaviour with JPA with hibernate as persistence provider, I changed the persitence.xml and I am getting the infamous error "No Persistence provider for EntityManager named usinghibernate"

My persistence.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="usinghibernate">
    <provider>org.hibernate.ejb.HibernatePeristence</provider>
    <class>arun.ucerelay.datastructures.XVMUpdateProfile</class>
    <class>arun.ucerelay.datastructures.XVMUpdateProfileItem</class>

    <!-- Scan for annotated classes and Hibernate mapping XML files -->
    <properties>
       <property name="hibernate.connection.driver_class" value="oracle.jdbc.driver.OracleDriver"/>
       <property name="hibernate.connection.url" value="jdbc:oracle:thin:@localhost:1521:krsna"/>
       <property name="hibernate.connection.username" value="scott"/>
       <property name="hibernate.connection.password" value="tiger"/>
       <property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect"/>
       <property name="hibernate.show_sql" value="true"/>
    </properties>
  </persistence-unit>
</persistence>

Java program:

   public static void main(String args[]) {
        try {
           EntityManagerFactory emf = Persistence.createEntityManagerFactory("usinghibernate");
            // First unit of work
            EntityManager em = emf.createEntityManager();
...
...

Here is what I did to get hibernate jars : I included 2 dependencies in maven pom.xml:

 ...
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-entitymanager</artifactId>
      <version>3.5.6-Final</version>
    </dependency>

    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>1.5.2</version>
    </dependency>
   ...

In the logs, its clear that it is able to find META-INF/persistence.xml and persistence unit and again it complains that it doesnt find the persistence unit.

TRACE 2011-02-26 00:50:31,765 [main](PersistenceXmlLoader.java:112) org.hibernate.ejb.packaging.PersistenceXmlLoader - Validate with persistence_2_0.xsd schema on file file:/C:/arun/eclipse/workspace/practicewitheclipselink/target/classes/META-INF/persistence.xml
TRACE 2011-02-26 00:50:31,781 [main](PersistenceXmlLoader.java:117) org.hibernate.ejb.packaging.PersistenceXmlLoader - Found error with persistence_2_0.xsd schema on file file:/C:/arun/eclipse/workspace/practicewitheclipselink/target/classes/META-INF/persistence.xml
TRACE 2011-02-26 00:50:31,781 [main](PersistenceXmlLoader.java:127) org.hibernate.ejb.packaging.PersistenceXmlLoader - Validate with persistence_1_0.xsd schema on file file:/C:/arun/eclipse/workspace/practicewitheclipselink/target/classes/META-INF/persistence.xml
TRACE 2011-02-26 00:50:31,781 [main](PersistenceXmlLoader.java开发者_高级运维:239) org.hibernate.ejb.packaging.PersistenceXmlLoader - Persistent Unit name from persistence.xml: usinghibernate
TRACE 2011-02-26 00:50:31,781 [main](Ejb3Configuration.java:321) org.hibernate.ejb.Ejb3Configuration - PersistenceMetadata(version=1.0) [
   name: usinghibernate
   jtaDataSource: null
   nonJtaDataSource: null
   transactionType: RESOURCE_LOCAL
   provider: org.hibernate.ejb.HibernatePeristence
   useQuotedIdentifiers: false
   classes[
      arun.ucerelay.datastructures.XVMUpdateProfile      arun.ucerelay.datastructures.XVMUpdateProfileItem   ]
   packages[
   ]
   mappingFiles[
   ]
   jarFiles[
   ]
   hbmfiles: 0
   properties[
      hibernate.connection.username: scott
      hibernate.connection.password: tiger
      hibernate.dialect: org.hibernate.dialect.OracleDialect
      hibernate.show_sql: true
      hibernate.connection.url: jdbc:oracle:thin:@localhost:1521:krsna
      hibernate.connection.driver_class: oracle.jdbc.driver.OracleDriver
   ]]
Feb 26, 2011 12:50:31 AM UpdateProfileMain main
WARNING:  Arun Could not load profiles : No Persistence provider for EntityManager named usinghibernate
Feb 26, 2011 12:50:31 AM UpdateProfileMain main
WARNING:  Arun Could not load profiles : null


org.hibernate.ejb.HibernatePeristence

should probably be replaced by

org.hibernate.ejb.HibernatePersistence
                              ^---
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜