2014-03-14 41 views
4

我试图让Spring和Hibernate在没有persistence.xml的情况下工作。我在我的context.xml文件中设置了我的实体包扫描器,如下所示:错误:没有从{classpath *:META-INF/persistence.xml}解析持久性单元

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> 
    <property name="dataSource" ref="dataSource"/> 
    <property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration"/> 
    <property name="hibernateProperties" ref="hibernatePropertiesConfigurer"/> 
    <property name="packagesToScan" value="com.therubythree.simpleapi.entities"/> 
</bean> 

我在想什么?

我不断收到错误:

No persistence units parsed from {classpath*:META-INF/persistence.xml} 

回答

4

理想的情况下,packagesToScan应该工作。

防爆 -

<property name="packagesToScan" value="tutorials.core.models.entities"></property> 

如果没有,那么你可以尝试这样的事情。 (根据文档,这是默认的路径)

<bean id="entityManagerFactory" 
    class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> 
    <property name="persistenceXmlLocation" value="classpath:META-INF/persistence.xml"></property> 
    ... 
</bean> 

之后,你应该在META-INF添加persistence.xml中(在src /主/资源)

防爆 -

<?xml version="1.0" encoding="UTF-8"?> 
<persistence xmlns="http://java.sun.com/xml/ns/persistence" 
version="1.0"> 
<persistence-unit name="studentPersistenceUnit" transaction-type="RESOURCE_LOCAL" > 
<class>tutorials.models.entities.Student</class> 
</persistence-unit> 
</persistence> 

谢谢

+0

没有属性persistenceXmlLocation。你确定吗? – CuriousMind

+0

@CuriousMind是的,https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/orm/jpa/LocalContainerEntityManagerFactoryBean.html#setPersistenceXmlLocation-java.lang.String- – eis

相关问题