Hibernate存储过程为多个调用返回相同的值

时间:2011-11-14 04:49:11

标签: java hibernate stored-procedures hql

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

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

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

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

例如:id = 1,输入=“R”,orig =“Vegas”dest =“伦敦”它返回费用为100美元 对于id = 2,输入=“V”,orig =“伦敦”dest =“Vegas”它返回费用为90美元

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

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

可能是什么问题?

1 个答案:

答案 0 :(得分:0)

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

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