我真的很困惑提交事务如何需要一些时间来进行更新。
这是我正在尝试的场景:
1. 提交事务(所有更新语句)
2. 转到数据库并尝试获取更新
在这里,当我尝试获取更新时,有时我没有得到最新的更新。
有时我会得到旧版本的数据。
这里有更多细节:在事务中,我有两个更新语句说它在每次更新时将一个 int 字段更新 1 例如:在任何更新之前,我在 db 中有值 5 现在有两个更新的事务将使其变为 7。
提交事务后,我尝试使用连接对象和 PreparedStatement 来获取它。
我得到的结果是 6。不是 7。虽然当我在 DB 上看到 7 时。
因此,我进行了更多调试,并尝试跟踪数据库更新的时间戳和获取数据的时间戳。
令我惊讶的是,我获取数据的时间戳小于上次更新数据库的时间戳。
有人对此有任何想法吗?