Hibernate对悲观锁和乐观锁的支持,主要解决并发问题。
数据库隔离级别越高,并发性越差。
锁具有排他性,锁住别人就访问不了。
悲观锁:并发性低,悲观锁一般依赖于数据库机制实现的,在整个过程中将数据锁定,其他任何用户都不能读取或修改,hibernate做了一些封装。
一般适合短事务情况。
实际上是冲突检测。
悲观锁实现:
session.beginTransaction();
// LockMode 锁模式
Inventory inv =
(Inventory)session.load(Inventory.class, 1, LockMode.UPGRADE);
System.out.println("itemName="
+ inv.getItemName());
System.out.println("quantity="
+ inv.getQuantity());
inv.setQuantity(inv.getQuantity()
- 200);
session.update(inv);
session.getTransaction().commit();
乐观锁:并发性好,使用的比较多,
一般采用数据版本记录机制(version)实现,在数据库中加一个version字段,类似cvs管理,通过版本号来管理。版本低的不允许更新数据。每更新一次版本号会跟着变化。
还可以采用时间戳方式管理乐观锁。
乐观锁实现:
public
class Inventory {
private int itemNo;
private String itemName;
private int quantity;
private int version;
…….
}
映射关系:
<hibernate-mapping>
<class
name="com.bjsxt.hibernate.Inventory" table="t_inventory" optimistic-lock="version">
<id name="itemNo">
<generator
class="native"/>
</id>
//必须放到id后面
<version name="version"/>
<property
name="itemName"/>
<property
name="quantity"/>
</class>
</hibernate-mapping>
分享到:
相关推荐
Hibernate的乐观锁与悲观锁的文档,帮助学习Hibernate的乐观锁与悲观锁,让你们学得更轻松。
赠送jar包:hibernate-jpa-2.1-api-1.0.2.Final.jar; 赠送原API文档:hibernate-jpa-2.1-api-1.0.2.Final-javadoc.jar; 赠送源代码:hibernate-jpa-2.1-api-1.0.2.Final-sources.jar; 赠送Maven依赖信息文件:...
赠送jar包:hibernate-jpa-2.1-api-1.0.2.Final.jar; 赠送原API文档:hibernate-jpa-2.1-api-1.0.2.Final-javadoc.jar; 赠送源代码:hibernate-jpa-2.1-api-1.0.2.Final-sources.jar; 赠送Maven依赖信息文件:...
Hibernate乐观锁和悲观锁分析,针对在使用HIBERNATE时怎么配置乐观锁进行了详细的范例讲解
其中通过 version 实现的乐观锁机制是 Hibernate 官方推荐的乐观锁实现,同时也是 Hibernate 中,目前唯一在数据对象脱离 Session 发生修改的情况下依然有效的锁机制。因此,一般情况下,我们都选择 version 方式...
Hibernate.jar包,Hibernate可以应用在任何使用JDBC的场合,包含 hibernate-commons-annotations-4.0.1.Final.jar hibernate-core-4.1.12.Final.jar hibernate-ehcache-4.1.12.Final.jar hibernate-entitymanager-...
hibernate学习笔记 hibernate学习笔记 hibernate学习笔记 hibernate学习笔记 hibernate学习笔记 hibernate学习笔记 hibernate学习笔记 hibernate学习笔记
Hibernate学习笔记_特别详细 Hibernate学习笔记_特别详细
hibernate-jpa-2.1-api-1.0.0.final.jar.zip,内含hibernate-jpa-2.1-api-1.0.0.final.jar
Hibernate学习笔记 Hibernate学习笔记 Hibernate学习笔记 Hibernate学习笔记
hibernate-jpa-2.0-api-1.0.1.Final.jar
hibernate-jpa-2.1-api-1.0.0.final-sources.jar 源码 hibernate-jpa-2.1-api-1.0.0.final-sources.jar 源码
hibernate-jpa-2.1-api-1.0.0.Final.jar官方下载,请放心使用
学习hibernate框架时,整理的笔记,对hibernate框架有全面的介绍
hibernate-jpa-2.0-api-1.0.1.Final-sources.jar hibernate jpa 源代码
Hibernate学习笔记Hibernate学习笔记Hibernate学习笔记Hibernate学习笔记
hibernate的乐观锁和悲观锁,两种锁搞定一切
NULL 博文链接:https://12345678.iteye.com/blog/721836
hibernate-validator-5.0.0.CR2-dist.zip 解压后找到到需要的jar导入项目即可