今天在学习Spring框架的时候,突然发现了这个类----HibernateTemplate,这个类与Session一开始认为是差不多的,这个HibernateTemplate类对象拥有Session的同样的方法,也可以进行相应的CRUD操作,但是有一点要注意:Session不是Spring封装的,就是说,涉及到事务管理,数据库连接关闭等操作的时候,用Session对象的话,需要显示调用Session的相关的方法:而使用HibernateTemplate这个类对象就无需这么去做,他不需要进行现实…
概述 模板方法模式是GOF设计模式中很典型的设计模式,其意图是由抽象父类控制顶级逻辑,并把基本操作的实现推迟到子类去实现,这是通过继承的手段来达到对象的复用.Spring模板方法模式实际是模板方法模式和回调模式的结合,Spring几乎所有的外接扩展都采用这种模式,如JNDI,JMS,JCA的 CCI,JDBC,ORM中的Hiberate3.jdo.Toplink等扩展都采用模板方法模式来扩展. 经典的模板方法设计模式 开闭原则是指一个软件实体应该对扩展开放,对修改关闭.先制定一个顶级逻辑框架,而…
HibernateTemplate 提供了非常多的常用方法来完成基本的操作,比如增加.删除.修改及查询等操作,Spring 2.0 更增加对命名 SQL 查询的支持,也增加对分页的支持.大部分情况下,使用Hibernate 的常规用法,就可完成大多数DAO对象的 CRUD操作. 下面是 HibernateTemplate的常用方法. delete(Object entity): 删除指定持久化实例. deleteAll(Collection entities): 删除集合内全部持久化类实例. f…
当session中出现两个相同标示的(相同主键)的对象,一个是持久态,一个是瞬时态,想更新瞬时态对象到数据库,如果不做处理,则报出异常,session中出现两个相同标示的不同对象异常.处理方法.(业务层代码,省去了dao层) 一:通过hibernateTemplate获取映射seession(模拟) /** * * @Title: updateTest * @Description: TODO(这里用一句话描述这个方法的作用) * @author 尚晓飞 * @date 2014-9-19 下午…
我们再用spring管理hibernate的时候, 我们会继承HibernateDaoSupport 或者HibernateTemplate类. 我们不知道这两个类之间有什么关系. 也没有去关闭session. 让我很是心不安,他可没有关闭session呀.如果..真的是后果不堪设想.百度了好久, 谷歌了好多. 都没有一个像样的说法. 说spring中HibernateDaoSupport会自己关闭session. 眼见为实.于是乎决定查看spring源码一探究竟. 先打开HibernateDa…
这篇文章用来总结一下spring,springmvc,spring+mybatis,spring+hibernate的配置文件 1.web.xml 要使用spring,必须在web.xml中定义分发器等信息,基本的配置信息如下: <?xml version="1.0" encoding= "UTF-8"?> <web-app version= "3.0" xmlns="http://java.sun.com/xml/n…
三大框架架构(整合原理) struts整合到spring   hibernate整合到spring 导包 eclipse需要导入   myeclipse不用 单独配置spring容器 单独配置struts2 struts2与spring整合 strut.xml中有 action  有指定class的  action仍有struts 创建    ,action中的有service属性,由spring创建 service的属性会自动组装 struts2 class填写bean 的名称  applic…
关于spring中对延迟关闭session的配置,以及工具类BaseDao和BaseAction 一.HibernateTemplate执行查询时的一些小问题 1.当两个PO类的关系是多对一时: 我们知道在多对一关系中,查询总是会先查询“一”的一方,而一的一方中是含有集合的,一谈到集合就不得不考虑关于hibernate中集合的加载策略, 集合的加载策略默认是懒加载的,我们可以自己手动的去配guanlu置这个加载策略! 然而我们这里讨论的是:当查询“一”的一方的数据完毕时session就会被关闭,…
一.HibernateTemplate与Spring aop简介 参见http://bbs.csdn.net/topics/340207475中网友blueram的发言.(感谢blueram) 二.在网友blueram有一句话是本文讲述的主题: “更优秀的 Session 管理机制. Spring 提供"每事务一次 Session" 的机制,该机制能大大提高了系统性能,而且 Spring 对 Session 的管理是透明的,无须在代码中操作 Session.”——举例说明: Hiber…
来源:http://www.yybean.com/opensessioninviewfilter-role-and-configuration 一.作用 Spring为我们解决Hibernate的Session的关闭与开启问题. Hibernate 允许对关联对象.属性进行延迟加载,但是必须保证延迟加载的操作限于同一个 Hibernate Session 范围之内进行.如果 Service 层返回一个启用了延迟加载功能的领域对象给 Web 层,当 Web 层访问到那些需要延迟加载的数据时,由于加…