【问题标题】:Hibernate Stored Procedure returning same value for multiple calls休眠存储过程为多个调用返回相同的值
【发布时间】:2011-11-14 04:49:11
【问题描述】:

我有一个存储过程,它返回多个结果集。输出因存储过程的不同输入而异。

当我使用不同的输入单独调用存储过程(2 次运行)时,它会按预期返回。

当我使用相同的方法调用它们两次时,它返回相同的值。

@NamedNativeQuery(
              name = "getFees",
              query = "call SCHEMA1.RES_FEES(:id,:type,:orig,:dest)",
              resultClass = Fees.class)

例如:id=1, type="R", orig="Vegas" dest="London" 返回费用为 $100 对于 id=2, type="V", orig="London" dest="Vegas" 它返回的费用是 90 美元

当我使用 ip1 单独执行 SP 时,它返回 $100 当我使用 ip2 单独执行 SP 时,它返回 $90

但是当我在 JAVA 中使用相同的方法使用不同的输入集执行 SP 两次时,它会返回两次 $100。

可能是什么问题?

【问题讨论】:

    标签: java hibernate stored-procedures hql


    【解决方案1】:

    奇怪的问题。以下是一些您可以用来调试问题的建议和测试。

    1. 打开hibernate的查询日志,看看有没有异常。
    2. 检查您是否在应用程序中使用二级缓存。如果是,请禁用它并再次运行测试以查看缓存是否存在任何问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-18
      • 2019-02-20
      • 2021-07-27
      • 1970-01-01
      • 2011-03-05
      • 1970-01-01
      相关资源
      最近更新 更多