villager326 2009-11-27 10:44
浏览 243
已采纳

hibernate DAO中关于session的管理

最近在整理hibernate的性能优化时,碰到了session的问题。
有几个问题不解,想在此请教一下各位高手们。
1、hibernate官网中介绍了一种threadlocal模式对session进行管理,本人也在filter中设置了这种功能,的确自己创建的session确实达到了与线程绑定的功能,但是对于DAO这一层(与SPRING整合)在使用getHibernateTemplate的回调函数中的session却无法达到该目的,也即getHibernateTemplate每次都创建了一个新的session,具体代码如下:
fruitDAO.getHibernateTemplate().execute(new HibernateCallback(){
public Object doInHibernate(Session session){
System.out.println(session.hashCode());
return null;
}
});
每次打出来的hashCode都不一样。

2、hibernate对于频繁创建关闭session的代价到底有多少,在系统中配置了连接池,session在关闭时是否对hibernate的数据库连接有影响。

谢谢各位了。

  • 写回答

2条回答 默认 最新

  • wanghaolovezlq 2009-11-27 10:50
    关注

    hibernate的session就跟jdbc的Connection是类似的意思

    如果是和spring整合的话,那就应该用OpenSessionInViewFilter是Spring提供的一个针对Hibernate的一个支持类,其主要意思是在发起一个页面请求时打开Hibernate的Session

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 解决一个加好友限制问题 或者有好的方案
  • ¥15 关于#java#的问题,请各位专家解答!
  • ¥15 急matlab编程仿真二阶震荡系统
  • ¥20 TEC-9的数据通路实验
  • ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
  • ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
  • ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
  • ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
  • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?
  • ¥30 求解达问题(有红包)