Spring整合Hibernate的两种方式

在使用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"

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

原文地址:https://www.cnblogs.com/kaspar/p/12016618.html

时间: 2024-10-07 04:23:53

Spring整合Hibernate的两种方式的相关文章

Spring整合Struts2的两种方式

Spring提供了一个ContextLoaderListener,该监听类实现了ServletContextListener接口.该类可以作为Listener使用,它会在创建时自动查找WEB-INF/下的applicationContext.xml文件,因此如果只有一个配置文件且配置文件命名为applicationContext.xml,则只需在web.xml文件中增加如下配置片段: <!-- 使用ContextLoaderListener初始化Spring容器 --> <listene

Spring Boot 整合 Shiro ,两种方式全总结!

在 Spring Boot 中做权限管理,一般来说,主流的方案是 Spring Security ,但是,仅仅从技术角度来说,也可以使用 Shiro. 今天松哥就来和大家聊聊 Spring Boot 整合 Shiro 的话题! 一般来说,Spring Security 和 Shiro 的比较如下: Spring Security 是一个重量级的安全管理框架:Shiro 则是一个轻量级的安全管理框架 Spring Security 概念复杂,配置繁琐:Shiro 概念简单.配置简单 Spring

spring配置属性的两种方式

spring配置属性有两种方式,第一种方式通过context命名空间中的property-placeholder标签 <context:property-placeholder location="classpath:jdbctemplate/jdbc.properties" /> 第二种方式通过创建bean,对应类为PropertyPlaceholderConfigurer <bean id="propertyConfigurer" class=

spring实现定时任务的两种方式

? Java? 方式一:注解 1.在spring配置文件中加入task的命名空间 123 xmlns:task="http://www.springframework.org/schema/task" http:http://www.springframework.org/schema/task/spring-task-3.0.xsd 2.配置扫描注解 12 <task:annotation-driven /><context:component-scan base-

Spring 实例化Bean的两种方式

使用Spring管理Bean也称依赖注入( Dependency Injection, DI ),通过这种方式将Bean的控制权交给Spring 在使用Spring实例化一个对象时,无论类是否有参数都会默认调用对象类的无参构造,对于有参数的情况,Spring有两种方式可以带参实例化 示例类 Shape public class Shape { private Integer width; private Integer height; public Shape() { System.out.pr

Spring定义Bean的两种方式:和@Bean

前言:    Spring中最重要的概念IOC和AOP,实际围绕的就是Bean的生成与使用. 什么叫做Bean呢?我们可以理解成对象,每一个你想交给Spring去托管的对象都可以称之为Bean. 今天通过Spring官方文档来了解下,如何生成bean,如何使用呢? 1.通过XML的方式来生成一个bean    最简单也是最原始的一种方式,通过XML来定义一个bean,我们来看下其过程 1)创建entity,命名为Student @Data@AllArgsConstructor@NoArgsCon

Spring 集成Hibernate的三种方式

首先把hibernate的配置文件hibernate.cfg.xml放入spring的src目录下,并且为了便于测试导入了一个实体类Student.java以及它的Student.hbm.xml文件 第一种集成方式:首先定义一个MySessionFactory的类 package com.tz.core; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; import org.springfr

课时2:Spring整合MyBatis的几种方式 前面一个课时已经讲了一种思路了

.1)第二种方式 :就是省略掉第一种方式的实现类 1. 在在第一种方式的基础上改造 1.2 dao的实现类可以删除了 1.3 改造spring配置文件 <bean id="studentDao" class="org.mybatis.spring.mapper.MapperFactoryBean"> <property name="mapperInterface" value="net.bdqn.hbz.dao.ISt

Spring事务管理的两种方式

参考文档: http://www.iteye.com/topic/1123347 http://blog.csdn.net/lcj8/article/details/2835432 PS:好像还是tx标签的方式较为简单 tx标签设置拦截器: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans&quo