zoukankan      html  css  js  c++  java
  • HTTP Status 500

    找不到实体类,是因为数据库对话工厂 sessionFactory出问题了,可能出现问题的地方

    (1)、sessionFactory的配置

    在整合SSH工程中,我们不再使用hibernate.cfl.xml文件进行配置,而是交给了spring的管理,那么在它的核心配置文件中applicationContext.xml中配置sessionFactory如下:

    <!-- 配置LocalSessionFactoryBean,将官方的session的工厂配置到spring -->
        <bean id="sessionFactory"
            class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
            <property name="dataSource" ref="dataSource" />
            <!-- 注入hibernate相关的属性配置 -->
            <property name="hibernateProperties">
                <props>
                    <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
                    <prop key="hibernate.hbm2ddl.auto">update</prop>
                    <prop key="hibernate.show_sql">true</prop>
                    <prop key="hibernate.format_sql">true</prop>
                </props>
            </property>
            <!-- 注入hibernate的映射文件 -->
            <property name="mappingLocations">
                <list>
                    <!--加载domian内的实体类映射文件,主要这里路径是文件路径不是类路径,需要带有/ 。这里我犯错错误!导致加载不上-->
                    <value>classpath:com/oa/domain/*.hbm.xml</value>                
                </list>
            </property>        
        </bean>

    (2)、映射文件问题的XXX.hbl.xml 

     我的实体类和映射都是使用hibernate工具自动生成的,一般自动生成的实体类没有问题,出问题的最多的就是映射文件,因为自动生成的会添加许多现在可能不需要的属性

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <!-- Generated 2018-9-10 17:20:14 by Hibernate Tools 5.3.1.Final -->
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
    <hibernate-mapping >
        <class name="com.oa.domain.User" table="user">//这里自动生成会出现很多问题
            <id name="oaid" type="int">
                <column name="oaid" />
                <generator class="assigned" />
            </id>
            <property generated="never" lazy="false" name="username"
                optimistic-lock="true" type="string" unique="false">
                <column length="40" name="username" />
            </property>
            <property generated="never" lazy="false" name="password"
                optimistic-lock="true" type="string" unique="false">
                <column length="40" name="password" />
            </property>
            <property generated="never" lazy="false" name="code"
                optimistic-lock="true" type="string" unique="false">
                <column length="20" name="code" />
            </property>
        </class>
    </hibernate-mapping>

     (3)、实体类出问题

        实体类配置一般不会出问题,注意对照。

    以上三个步骤中出任何一个问题,都会造成org.hibernate.MappingException: Unknown entity实体类异常

    成功!!!努力!!国图学习纪录!!

  • 相关阅读:
    某个牛人做WINDOWS系统文件详解
    常用ASP脚本程序集锦
    LINUX基础:文件安全与权限
    proftpd+mysql+quota
    apache2.0.49tomcat5.0.19jk2建立virtualHost
    URL Redirection(转) Anny
    顶级域名后缀列表(转) Anny
    \u4E00\u9FA5意义 Anny
    How to POST Form Data Using Ruby(转) Anny
    How to get rid of 'Enter password to unlock your login keyring' in Ubuntu(转) Anny
  • 原文地址:https://www.cnblogs.com/niusdtz/p/9626720.html
Copyright © 2011-2022 走看看