栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java-JPA-@Version批注

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java-JPA-@Version批注

但是我仍然不确定它是如何工作的?

假设一个实体

MyEntity
具有带注释的
version
属性:

@Entitypublic class MyEntity implements Serializable {    @Id    @GeneratedValue    private Long id;    private String name;    @Version    private Long version;    //...}

更新时,带有注释的字段

@Version
将增加并添加到
WHERe
子句中,如下所示:

UPDATE MYENTITY SET ..., VERSION = VERSION + 1 WHERe ((ID = ?) AND (VERSION = ?))

如果

WHERe
子句未能匹配记录(因为同一实体已经被另一个线程更新),则持久性提供程序将抛出
OptimisticLockException

这是否意味着我们应该将我们的version字段声明为final

不可以,但是您可以考虑使二传手受到保护,因为您不应该称呼它。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/514929.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号