第 12 章 事务和并发
优质
小牛编辑
141浏览
2023-12-01
Hibernate 的事务和并发控制很容易掌握。Hibernate 直接使用 JDBC 连接和 JTA 资源,不添加任何附加锁定行为。我们强烈推荐你花点时间了解 JDBC 编程,ANSI SQL 查询语言和你使用的数据库系统的事务隔离规范。
Hibernate 不锁定内存中的对象。你的应用程序会按照你的数据库事务的隔离级别规定的那样运作。幸亏有了
Session
,使得 Hibernate 通过标识符查找,和实体查询(不是返回标量值的报表查询)提供了可重复的读取(Repeatable reads)功能,Session
同时也是事务范围内的缓存(cache)。
除了对自动乐观并发控制提供版本管理,针对行级悲观锁定,Hibernate 也提供了辅助的(较小的)API,它使用了
SELECT FOR UPDATE
的 SQL 语法。本章后面会讨论乐观并发控制和这个API。
我们从
Configuration
层、SessionFactory
层,和 Session
层开始讨论 Hibernate 的并行控制、数据库事务和应用程序的长事务。