本文共 993 字,大约阅读时间需要 3 分钟。
首先,持久化的修改仅限于对存储的UPDATE和DELETE操作,对于INSERT和SELECT无需考虑这个问题。
这里介绍乐观锁的使用。
1. 在对JPA的实现中,其乐观锁就是在进行UPDATE和DELETE操作时检查Entity类中专门的版本属性。
Entity类中的版本属性使用@javax.persistence.Version标注定义。 Entity类中,可用作版本属性的有2种类型: 1)数字类型@javax.persistence.Entitypublic class Thing { @javax.persistence.Id private Integer id; @javax.persistence.Version private Timestamp ts; ...}2. 在的Hibernate Native API实现中,乐观锁检查Entity类中的所有属性或所有会发生变化的属性
这种实现机制主要是为了集成遗留系统(遗留系统中往往没有专门的版本属性)。
使用@org.hibernate.annotations.OptimisticLocking(type=org.hibernate.annotations.OptimisticLockType.VERSION)定义Entity类。
其中,@org.hibernate.annotations.OptimisticLockType可能的值有4种:@javax.persistence.Entity@OptimisticLocking (type = OptimisticLockType.ALL)public class EmployeeEntity implements Serializable{ public EmployeeEntity(){ } //Other code}
转载地址:http://vnlai.baihongyu.com/