请有人解释一下,为什么我们应该在Hibernate中使用@Version注释,而我们已经使用了事务?事务不能保证数据库的一致性吗?
发布于 2015-08-04 16:07:04
它有助于阅读“JavaDoc of @Version”
该版本用于在执行合并操作和乐观并发控制时确保完整性。
(如果你不知道的话) JavaDoc of EntityManager.merge()
将给定实体的状态合并到当前的持久性上下文中。
这意味着将不属于事务的实体添加到该事务中。
换句话说:事务用于检查短运行操作的一致性,而@Version用于长时间运行(分离)操作,例如在跨多个服务器请求编辑实体时。
https://stackoverflow.com/questions/31776300
复制相似问题