zoukankan      html  css  js  c++  java
  • jQueryrocket

    在使用spring注解整合hibernate时出现"org.hibernate.MappingException: Unknown entity: com.ssh.entry.Product“异常的问题。

    最后找到了问题,总结一下

    1.spring整合hibernate,取代*.hbm.xml配置文件
      在applicationContext.xml文件中配置方式

    <!-- 创建sessionFactory -->
             <bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
                     <property name="dataSource" ref="dataSource"></property>
                    <!-- 使用统配符 配置hibernate hbm配置文件   -->
                    <property name="mappingLocations">
                        <value>classpath*:com/jxc/entity/*.hbm.xml</value>
                    </property>
                      
                    <!--hibernate属性配置 -->
                    <property name="hibernateProperties">
                        <props>
                            <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
                            <prop key="hibernate.hbm2ddl.auto">update</prop>
                            <prop key="hibernate.show_sql">true</prop>
                            <prop key="hibernate.format_sql">true</prop>
                        </props>
                    </property>
            </bean>

    上面是以前的代码拿来对比下

    spring整合hibernate,使用注解的方式
        在applicationContext.xml文件中配置方式

    <!-- 配置Hibernate的SessionFactory -->
        <bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
            <!-- 注入连接池 -->
            <property name="dataSource" ref="dataSource"/>
            <!-- 扫描并加载注解过的实体类 -->
            <property name="packagesToScan" value="com.kaspar.product.model"/>
            <!-- 配置Hibernate属性 -->
            <property name="hibernateProperties">
                <props>
                    <prop key="hibernate.show_sql">true</prop><!-- 是否展示SQL -->
                    <prop key="hibernate.format_sql">true</prop><!-- 输出底层sql语句格式 -->
                    <prop key="hibernate.hbm2ddl.auto">update</prop><!-- 是否自动创建表结构 -->
                    <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
                </props>
            </property>
            
        </bean>

    上面其中一段或者替换为:

    <!-- 配置数据库常用参数 -->
    <property name="packagesToScan">
                <list>
                    <value>com.kaspar.product.model</value> 
               </list> 
    </property>

    这是第二种使用注解的方式。两种方式只有在引入映射文件或者注解类时候有差别 。

    第一次整合注解时候,出现: "org.hibernate.MappingException: Unknown entity: com.ssh.entry.Product"

    这里引入路径,只需要进入到包名就可以。

  • 相关阅读:
    shell中使用echo命令改变输出显示样式
    Shell脚本报错unary operator expected
    shell运行报 too many arguments错误
    写shell,运行出错:syntax error near unexpected token `$’do ”
    shell 脚本执行,出现错误bad interpreter: No such file or directory
    Linux 基本命令学习笔记
    如何运行 O’Reilly 书 Python for Finance 的源代码
    IntelliJ 中配置 Anaconda
    Windows 10 中安装 Anaconda 3
    Windows 中安装的 Python 如何卸载
  • 原文地址:https://www.cnblogs.com/kaspar/p/12016618.html
Copyright © 2011-2022 走看看