微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

春天冬眠

如何解决春天冬眠

| 我收到此错误
org.hibernate.MappingException: UnkNown entity: xxx.model.Application
但是,所有内容似乎都已正确配置。谁能看到我想念的东西吗?
<bean class=\"org.springframework.beans.factory.config.PropertyPlaceholderConfigurer\">
    <property name=\"location\" value=\"file:/dctm/db.props\"/>
</bean>

<bean id=\"xxxDataSource\" class=\"org.springframework.jdbc.datasource.DriverManagerDataSource\" destroy-method=\"close\">
    <property name=\"driverClassName\" value=\"oracle.jdbc.driver.OracleDriver\"/>
    <property name=\"url\" value=\"${db.url}\"/>
    <property name=\"username\" value=\"${db.username}\"/>
    <property name=\"password\" value=\"${db.password}\"/>
</bean>

<bean id=\"xxxSessionFactory\" class=\"org.springframework.orm.hibernate3.annotation.AnnotationSessionfactorybean\">
    <property name=\"dataSource\" ref=\"xxxDataSource\"/>

    <property name=\"annotatedClasses\">
    <list>
        <value>xxx.model.Application</value>
    </list>
        </property>

    <property name=\"hibernateProperties\">
        <props>
            <prop key=\"hibernate.dialect\">${db.dialect}</prop>
            <prop key=\"hibernate.show_sql\">${db.debug_sql}</prop>
            <prop key=\"hibernate.c3p0.minPoolSize\">1</prop>
            <prop key=\"hibernate.c3p0.maxPoolSize\">5</prop>
            <prop key=\"hibernate.c3p0.timeout\">${db.timeout}</prop>
            <prop key=\"hibernate.c3p0.max_statement\">50</prop>
            <prop key=\"hibernate.c3p0.testConnectionOnCheckout\">false</prop>
            <prop key=\"hibernate.current_session_context_class\">thread</prop>
        </props>
    </property>
</bean>

<bean id=\"patiDao\" class=\"xxx.dao.hibernate.PatiHibernateDao\">
    <property name=\"sessionFactory\" ref=\"xxxSessionFactory\"/>
</bean>
    

解决方法

您是使用JPA还是直接使用Hibernate?如果您使用的是JPA,请尝试定义META-INF / persistence.xml,在其中定义带注释的实体类:
<persistence-unit name=\"myPU\" transaction-type=\"RESOURCE_LOCAL\">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <non-jta-data-source>java:/MyDS</non-jta-data-source>
    <class>xxx.model.Application</class>
    <class>xxx.model.Class2</class>
    <exclude-unlisted-classes />
</persistence-unit>
    ,您可能会缺少
@Entity
@Entity
@Table(name=\"COURSES\")
public class Application{
  //some code
}
    ,我看到此错误的两个原因。首先,如果您错过了
Application
类的
@Entity
。第二个是如果
Application
类不在构建路径中并且没有部署到JBoss。     ,您可以尝试通过提供AnnotationSessionFactoryBean的packagesToScan属性的值来(通过类路径扫描)查找@Entity类本身,而不是使用annotatedClasses属性手动指定类。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。