hibernate - Java Hibernate 回滚内存更改

标签 hibernate transactions rollback in-memory

我使用 Hibernate 来保存我的内存数据。有时,由于某些错误,Hibernate 拒绝提交我的对象中的更改,并执行回滚。在这种情况下,我的内存数据变得不一致,我也需要它回滚。

我的问题是:是否有任何规范/实现可以帮助我跟踪和撤消内存中的更改。在尝试自己编写这段代码之前,我想确定我不会发明轮子。

最佳答案

回滚内存中的对象是不可能的。但是正确的数据在数据库中,所以你只需要忘记你的内存数据,并从数据库中获取它们的新副本:

  • 获取 foo来自数据库
  • 修改 foo内存中
  • 尝试提交事务以更新 foo在数据库中:异常
  • 获取 foo再次从数据库
  • 关于hibernate - Java Hibernate 回滚内存更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12245217/

    相关文章:

    c# - Azure 与 Azure SQL Server : ArgumentException: Value does not fall within the expected range

    java - JBoss AS 7.1 中 MySQL 数据库的事务错误

    Django:是否可以打开一个事务,要求用户确认,然后在确认或回滚时提交事务

    rollback - Datagrip 出错时自动回滚

    java - Criteria API 如何编写 = ANY(?1) 表达式?

    java - 由数据库控制的 Hibernate 时间戳版本。

    java - Hibernate 4.1.8.FINAL 支持事务 : yes or no?

    spring - 基于 Maven 的项目使用 Spring Hibernate、EJB3.0、JPA JBOSS?

    sql - 如何在 Oracle SQL 中使用回滚/提交

    oracle - 如何在发出回滚前检查保存点是否已经建立?