2012-04-11 8 views
0

Ich erhalte diese Ausnahme, wenn ich versuche, meine Test Web-Anwendung auszuführen:JPA und Spring MVC falsche Konfiguration?

org.springframework.beans.factory.BeanCreationException: 
Error creating bean with name 'myDAO': 
Injection of persistence dependencies failed; 
nested exception is org.springframework.beans.factory.BeanCreationException: 
Error creating bean with name 'emf' defined in ServletContext resource 
[/WEB-INF/testapp-servlet.xml]: 
Invocation of init method failed; 
nested exception is javax.persistence.PersistenceException: 
No Persistence provider for EntityManager named testapp 

Meine persistence.xml Datei ist in META-INF Ordner:

<?xml version="1.0" encoding="UTF-8" ?> 
<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" 
version="2.0" xmlns="http://java.sun.com/xml/ns/persistence"> 
<persistence-unit name="testapp" transaction-type="RESOURCE_LOCAL"> 
    <class>it.testapp.entities.Person</class> 
    <class>it.testapp.entities.Group</class> 
    <properties> 
     <property name="javax.persistence.jdbc.driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" /> 
     <property name="javax.persistence.jdbc.url" 
      value="jdbc:sqlserver://localhost;databaseName=db_testapp" /> 
     <property name="javax.persistence.jdbc.user" value="user1" /> 
     <property name="javax.persistence.jdbc.password" value="" /> 
    </properties> 

</persistence-unit> 

Meine data-context.xml Bohne definiton Datei ist in WEB-INF Ordner:

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" 
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd"> 


<context:annotation-config /> 
<context:component-scan base-package="it.testapp.dao" /> 

<bean id="emf" 
    class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean"> 
    <property name="persistenceUnitName" value="testapp"></property> 
</bean> 

<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" /> 

<bean id="aDao" class="it.testapp.dao.jpa.PersonJpaDAO" /> 

Wo ist das Problem?

+0

Mögliche Duplikat: http://StackOverflow.com/Questions/1158159/No-Persistence-Provider-For-entitymanager-name –

+0

@CarlosGavidia das gleiche Problem, aber ich kann nicht lösen ... – davioooh

Antwort

1

Müssen Sie ein <provider> Tag unter <persistence-unit> hinzufügen?

(z <provider>org.hibernate.ejb.HibernatePersistence</provider>)

Auch vorgeschlagen this answer das nicht Ihr persistence.xml in /WEB-INF/classes/META-INF mit diesen Fehler ebenfalls auslösen könnten.

+0

Ich habe es versucht, aber notting Änderungen ... – davioooh

+0

Es ist keine andere Ausnahme oder irgendetwas? Wenn nicht, ist 'org.hibernate.ejb.HibernatePersistence' in Ihrem Klassenpfad? –

+0

Gleiche Ausnahme ... Ich benutze Hibernate 4, also habe 'Hibernate-Entitymanager-4.1.1.Final.jar' in meinem Klassenpfad – davioooh

Verwandte Themen