大哥大姐,关于hibernate的问题!

laohan323 2007-11-12 11:00:29
在Hibernate中。
Configuration config=new Cofiguration().configure();
SessionFactory factory=config.buildSessionFactory();
Session session=factory.openSession();
在这里有的书上写的是getCurrentSession()。
到底openSession()和getCurrentSession()有什么区别。
谢谢!!
...全文
113 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
dujun3245350 2008-10-16
  • 打赏
  • 举报
回复
学习
aixiaorenzhe123 2008-10-15
  • 打赏
  • 举报
回复
同意了楼上的!getCurrentSession()是一个线程对应一个session的
CHR_WHY 2008-10-15
  • 打赏
  • 举报
回复
getCurrentSession()是指如果内存中存在session的实例则不建立新的,若没有则建立一个新的session实例
getSession则是直接获取一个Session实例
wangzy24 2008-10-14
  • 打赏
  • 举报
回复
不知道,我和你一样在困惑中
ltl215 2007-11-22
  • 打赏
  • 举报
回复
所有的都session不是线程安全的,而SessionFactory是安全的。
两者的区别从字面上可以理解,一个是打开新的,另一个是用现成的。
由于session线程不安全,因此尽量避免被多个线程共享,用到时临时
创建,使用后及时销毁,同时session也属于轻量级封装,可随意创建
和销毁,它的特点正好和SessionFactory相反。

以上,如有不对,请指出。
jackiewu714 2007-11-12
  • 打赏
  • 举报
回复
不知道,我和你一样在困惑中
wangjiajuan 2007-11-12
  • 打赏
  • 举报
回复
差别是getCurrentSession()取得是当前线程中的session,是线程安全的,前一个不是线程安全的。请看看threadlocal这个类。

67,538

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧