博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hibernate的事务模式与反模式
阅读量:4178 次
发布时间:2019-05-26

本文共 684 字,大约阅读时间需要 2 分钟。

Hibernate的事务模式及反模式
1. Session-per-request,模式,一个Session对象对应一个数据库事务,适用于Web应用。
Session对象可能被其他组件通过SessionFactory.getCurrentSession()方法方法引用,为了保证Session对象在被引用时有效,Session对象必须拥有一定的有效范围,这个有效范围就是通过org.hibernate.context.spi.CurrentSessionContext接口实现的:
  • jta范围,在JTA事务中,当第一次调用SessionFactory.getCurrentSession()方法时创建Session对象
  • managed范围,第三方组件(如javax.servlet.Filter实现、AOP拦截器、Spring容器等)
2. Session-per-operation,反模式,一个Session对象对应一次的数据库调用。
3. Session-per-conversation,反模式,一个Session对象对应一系列的数据库请求
4. Session-per-request-with-detached-objects,反模式,实现类似Session-per-conversation的功能
5. Session-per-application,反模式,一个Session对象对应整个应用
  • 存在多线程之间的竞争条件问题
  • 数据库事务的异常将导致Session对象关闭,也就意味着应用的停止
  • Session缓存中要维护应用中的所有持久化对象,内存消耗大

转载地址:http://hilai.baihongyu.com/

你可能感兴趣的文章
轻松读懂字节码文件
查看>>
记一下对String#intern的理解
查看>>
Tomcat多种方式部署多个项目
查看>>
随机字符串
查看>>
ZipUtils工具类
查看>>
1071 - Specified key was too long; max key length is 767 bytes
查看>>
SQLSERVER的LOG文件过于庞大
查看>>
Mycat+SpringBoot完成分库分表
查看>>
基于JMH检验多种生成随机数方法的效率
查看>>
读写文件效率测试
查看>>
优雅停止 SpringBoot 服务
查看>>
轻松读懂WSDL文件
查看>>
FastJson中JSONPath的应用
查看>>
文件下载
查看>>
手动安装chrome插件
查看>>
mysql怎么把'1,2,3'转成1,2,3
查看>>
POI生成excel并设置过滤范围
查看>>
RSAUtils工具类
查看>>
常用的集合之间的转换
查看>>
list复制 浅拷贝和深拷贝
查看>>