首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hibernate的@Version vs transactions

Hibernate的@Version vs transactions
EN

Stack Overflow用户
提问于 2015-08-02 20:31:28
回答 1查看 78关注 0票数 0

请有人解释一下,为什么我们应该在Hibernate中使用@Version注释,而我们已经使用了事务?事务不能保证数据库的一致性吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-04 16:07:04

它有助于阅读“JavaDoc of @Version

该版本用于在执行合并操作和乐观并发控制时确保完整性。

(如果你不知道的话) JavaDoc of EntityManager.merge()

将给定实体的状态合并到当前的持久性上下文中。

这意味着将不属于事务的实体添加到该事务中。

换句话说:事务用于检查短运行操作的一致性,而@Version用于长时间运行(分离)操作,例如在跨多个服务器请求编辑实体时。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31776300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档