2012-04-11 2 views
0

я получаю это исключение, когда я пытаюсь запустить мой тестовый веб-приложение:JPA и Spring MVC неправильная конфигурация?

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 

Мой persistence.xml файл находится в META-INF папке:

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

Мой файл Definiton data-context.xml боб в WEB-INF Папка:

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

В чем проблема?

+0

Возможный дубликат: http://stackoverflow.com/questions/1158159/no-persistence-provider-for-entitymanager-named –

+0

@CarlosGavidia та же проблема, но я не могу решить ... – davioooh

ответ

1

Вам нужно добавить тег <provider> под <persistence-unit>?

(например <provider>org.hibernate.ejb.HibernatePersistence</provider>)

Кроме того, this answer предположил, что не имеющий ваш persistence.xml в /WEB-INF/classes/META-INF также может возникнуть такая ошибка.

+0

Я пробовал, но ноттинг изменения ... – davioooh

+0

Это не другое исключение или что-то еще? Если нет, это 'org.hibernate.ejb.HibernatePersistence' в вашем пути к классам? –

+0

То же исключение ... Я использую Hibernate 4, так что 'hibernate-entitymanager-4.1.1.Final.jar' в моем пути к классам – davioooh

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