Hibernate存储过程对多次调用返回相同的值



我有一个存储过程,它返回多个结果集。对于存储过程的不同输入,输出是不同的。

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

当我在同一个方法中调用它们两次时,它返回相同的值。

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

例如:id=1, type="R",origin ="Vegas",dest="London",返回的费用为100美元如果id=2, type="V", origin ="London", dest="Vegas",则返回费用为$90

当我与ip1分别执行SP时,它返回$100当我与ip2分别执行SP时,它返回$90

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

有什么问题吗?

奇怪的问题。这里有一些建议和测试,可以用来调试这个问题。

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

最新更新