1. 虽然继承了HibernateDaoSupport这个类,但是this.getSession(),获得的session也要在使用后即使关闭,因为这 个session是原生的session不是经过sping代理过的,并且还没有事物管理,自动提交,自动关闭连接等功能,所以使用使用 getSession()获得session时一定要关闭。
2.使用 getHibernateTemplate()中的1.exceute(callback) 2. executeFind(callback) 3.execute(callback, boolean)时一定要注意:1和2会点方法中使用的session都是经过spring代理过的会自动关闭,但是3最后一个参数标示的是:回调函数中 使用的session是否是本地的(没有经过是spring代理过,没有自动关闭连接的功能)。true:本地的 false:spring代理过的(不用担心session是否关闭)
3.spring的bean的默认管理都是单列模式,在ssh整合中保证各dao的的实例是无状态的,否则在一旦有某个方法设置状态之后,别的方法也就有了状态,但是别的方法又不需要这个状态,或者对别的放产生了别的不好的影响:例如
getHibernateTemplate().setMaxResults(3);
一旦是给HibernateTemplate设置了最大输出记录数,那么以后调用这个类中的别的方法的最大记录数也就是3个,对别人调用这个类的别的方法产生的副作用,除非你再次设置你想要的最大记录数,setMaxResults(10);
hibernateTemplate和hibernateDaoSupport的注意问题!
原创
©著作权归作者所有:来自51CTO博客作者茜茜770的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Spring4 集成 Hibernate3 使用 HibernateTemplate 和使用 HibernateDaoSupport 操作对象
Spring4 集成 Hibernate3 使用 HibernateTemplate 和使用 HibernateDaoSupport 操作对象第一部分:使用 HibernateTemplate基本步骤(1)引入依赖; (2)编写 beans.xml 文件,配置 dataSource、SessionFactory、TransactionManager、事务通知、aop 事务 (3)编写实体类,并且
Spring4 Hibernate3 hibernate xml spring -
HibernateDaoSupport类的使用
HibernateDaoSupport import org.hibernate.Query; 2. import org.springframework.context.ApplicationConte
职场 Hibernate 休闲 HibernateDaoSupport -
HibernateTemplate常用的方法
HibernateTemplate常用的方法 Serializable save(Object entity): 添加操作 void update(Object entity) : 修改操作
Spring的bean管理注解注入属性和 SpringMVC是如何让Control SpingMvc的讲解 Sping整合hibernate SpringMVC的学习