打开session的方式

openSession

        1、只要调用一次openSession方法都会打开一个新的连接
        2、这种方式效率不是很高
        3、利用这种方式很容器的就可以操作session的缓存

getCurrentSession

1、把session放入到threadlocal中,确保线程安全
2、在整个线程中可以共享session,并且该session只有一个
3、在threadlocal中存放Map<SessionFactory,Session>,
因为整个hibernate应用sessionFactory只有一个,所以session肯定只有一个
getCurrentSession使用
步骤1:在hibernate.cfg.xml文件中配置
步骤2:获取当前线程的session
Session session = sessionFactory.getCurrentSession();
Transaction transaction = session.beginTransaction();
Person person = (Person)session.get(Person.class, 2L);
transaction.commit();

说明:
1、crud操作都必须在事务的条件下进行
2、当事务提交,session自动关闭

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 非本人总结的笔记,抄点笔记复习复习。感谢传智博客及黑马程序猿记笔记啊记笔记 Hibernate的简介 什么是Hib...
    键盘瞎阅读 802评论 0 7
  • Hibernate: 一个持久化框架 一个ORM框架 加载:根据特定的OID,把一个对象从数据库加载到内存中OID...
    JHMichael阅读 2,126评论 0 27
  • 本文包括:1、Hibernate的持久化类2、Hibernate 持久化对象的三个状态(难点)3、Hibernat...
    廖少少阅读 1,621评论 0 13
  • 你一来 世界都变得美好 天气也好 风也和畅 就连雨也有丝甜甜的味道 你悄悄地 从我心上走过 像风 像雨 像落日余晖...
    六米花阅读 425评论 3 2
  • 今天我要给大家分享的书是《所谓会说话,就是会换位思考》。本书作者卡洛琳是英国的畅销书作家,同时也是资深的图书编辑,...
    穆思心语阅读 341评论 0 0

友情链接更多精彩内容