gpt4 book ai didi

java - 事务中选择。如何将过程更改包含到这些 SELECT 中?

转载 作者:行者123 更新时间:2023-12-01 13:39:28 27 4
gpt4 key购买 nike

是否可以从存储过程已修改的表中选择一条记录,并在同一 SQL 事务中以未提交状态检索该记录?

崩溃了...

  1. 开始交易。
  2. 检索记录 A。存储在对象 1 中。
  3. 执行修改记录A的SP。
  4. 检索记录 A。存储在对象 2 中。
  5. 结束交易。

结果 - 对象#1 和#2 相同。我希望他们与众不同。其中对象 #2 包括执行的存储过程对修改记录 A 所做的更改。

<小时/>

编辑

我已经进一步缩小了范围。在步骤 #4 中,我进行了两次调用来检索记录 A:

  • createSQLQuery -> 打印结果 -> 显示第 3 步中的正确数据。
  • createQuery -> 打印结果 -> 显示步骤 #3 中的过时数据。

我现在的猜测是,Hibernate 的一级查询缓存保留了记录 A,只是将其返回给我,而不是执行另一个 SELECT。 我还不确定解决这个问题的最佳方法。

最佳答案

执行存储过程后,您需要clear()您的 hibernate session 以强制从数据库检索更新的数据。

关于java - 事务中选择。如何将过程更改包含到这些 SELECT 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20953068/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com