hibernateTemplate和hibernateDaoSupport的注意问题!
2013-12-25 11:30
260 查看
http://bosslife.blog.163.com/blog/static/114917017201061911130625/
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的的实例是无状态的,佛则在一旦有某个方法设置状态之后,别的方法也就有了状态,但是别的方法又不需要这个状态,或者对别的放产生了别的不好的影响:例如
4、getHibernateTemplate().setMaxResults(3);
一旦是给HibernateTemplate设置了最大输出记录数,那么以后调用这个类中的别的方法的最大记录数也就是3个,对别人调用这个类的别的方法产生的副作用,除非你再次设置你想要的最大记录数,setMaxResults(10);
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的的实例是无状态的,佛则在一旦有某个方法设置状态之后,别的方法也就有了状态,但是别的方法又不需要这个状态,或者对别的放产生了别的不好的影响:例如
4、getHibernateTemplate().setMaxResults(3);
一旦是给HibernateTemplate设置了最大输出记录数,那么以后调用这个类中的别的方法的最大记录数也就是3个,对别人调用这个类的别的方法产生的副作用,除非你再次设置你想要的最大记录数,setMaxResults(10);
相关文章推荐
- 在spring+hibernate3框架中使用HibernateDaoSupport应注意的问题
- hibernate4 和 spring3 整合注意事项:HibernateDaoSupport没有了找到篇好文章,我之前遇到的问题都在这都能找到。其实出现这些问题的关键就是hibernate4和hib
- 【转】hibernateTemplate和hibernateDaoSupport的注意问题
- hibernateTemplate和hibernateDaoSupport的注意问题!
- spring的HibernateDaoSupport以及HibernateTemplate和jdbcTemplate的选择问题
- HibernateTemplate和HibernateDaoSupport(spring注入问题)
- HibernateTemplate和HibernateDaoSupport(spring注入问题)
- HibernateDaoSupport 类session未关闭导致的连接泄露问题
- HibernateTemplate和HibernateDaoSupport(spring注入问题)
- spring的HibernateDaoSupport以及HibernateTemplate和jdbcTemplate的选择问题
- Junit+spring+hibernate HibernateDaoSupport测试问题
- Hibernate中使用dao时注意问题
- Spring 的 HibernateDaoSupport 类的 getSession() 导致的连接泄露问题
- 关于HibernateDaoSupport getSession()不能释放资源的问题及解决方法
- 继承 HibernateDaoSupport 的getSession 问题
- spring的HibernateDaoSupport以及HibernateTemplate和jdbcTemplate的选择问题
- 关于HibernateDaoSupport getSession()不能释放资源的问题及解决方法
- HibernateTemplate和HibernateDaoSupport(spring注入问题)
- spring的HibernateDaoSupport以及HibernateTemplate和jdbcTemplate的选择问题
- Junit+spring+hibernate HibernateDaoSupport测试问题