JPA-@Version annotation
来源:互联网 发布:多线程编程 编辑:程序博客网 时间:2024/06/04 19:23
@Version在JPA中是如何工作的呢?
JPA通过在你的实体类中使用@Version注解来发现数据库记录的并发操作。当JPA运行时检测到一个并发操作也在试图更改同一条记录。它会抛出一个尝试提交的事务异常。
下面是一个带有@Version注解字段的类:
@Entitypublic class MyEntity implements Serializable { @Id @GeneratedValue private Long id; private String name; @Version private Long version; //...}
如果要修改该实体类的数据。带有注解@Version的version字段将会自增,就像下面的sql语句:
UPDATE MYENTITY SET ..., VERSION = VERSION + 1 WHERE ((ID = ?) AND (VERSION = ?))
如果WHERE子句不能匹配记录(因为相同的实体已经被另一个线程更新),那么持久性提供者将抛出OptimisticLockException。
这将防止创建两个一样的实体类实例。
0 0
- JPA-@Version annotation
- JPA-@Version
- JPA Annotation Reference
- 常用 JPA annotation 参考
- 常用 JPA annotation 参考
- Hibernate Annotation -- (JPA)
- JPA Annotation注解
- JPA Annotation注解
- JPA中的@Version
- JPA @PersistenceContext及@Transactional Annotation
- Hibernate Annotation使用实例---JPA
- JPA @PersistenceContext及@Transactional Annotation
- JPA @PersistenceContext及@Transactional Annotation
- JPA @PersistenceContext及@Transactional Annotation
- JPA @PersistenceContext及@Transactional Annotation
- JPA @PersistenceContext及@Transactional Annotation
- jpa中version中的作用
- JPA -the annotation about one to one
- 第7周 项目2建立链队算法库
- kubernetes 源码编译
- 第七周项目3—负数把正数赶出队列
- Java面试题集收藏大放送
- 正则表达式
- JPA-@Version annotation
- 1059. Prime Factors (25)
- error C4996:'strcpy':This function or variable may be unsafe.
- 基于注解的 Spring MVC 简单入门
- 可变参数 va_start/va_end等函数
- Word.Excel.ppt转html
- spark 应用程序性能优化|12 个优化方法
- python os.path模块常用方法
- 【C++】C++中使用scanf printf