Hibernate对版本号控制的权限

当我们修改一个记录时,先get或者load这个纪录,然后填充给也页面的部分数据,也包含来自页面的版本号,

我们点击页面上的A按钮执行下面的过程


我们load出来的是最新的后假如版本号是19,

页面上记录的数据版本号是19,

我们把load出来的数据修改为页面上的19.

然后通过其他系统或者手工修改数据库的版本号为20,

然后再update,我们会发现会报错,原因是我们要修改的数据版本号已经过期了


微笑---------上面的描述很简单吧 ,如果我们继续点击A按钮----------------


我们load出来的是最新的后版本号是20,

页面上记录的数据版本号是19,

我们把load出来的数据修改为页面上的19.

然后再update,发现update修改成功了


微笑---------童鞋们,你们发现没有 低版本号的为什么会修改成功呢?--------------


微笑---------总结:我认为对于持久化状态的hibernate对象,人为的修改version,不会让这个对象更旧或者更新--------------


微笑---------加强补充---------------


我们打开页面版本号是19

我们人为的修改版本号是20

我们点击A按钮

我们load数据是20

我们修改为19

结果是什么呢?

根据上面的总结,我们发现虽然我们保存的数据版本号是19,低于数据库版本,但实际版本号是20,持久态对象修改版本号不能改变对象新或者旧!







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值