2011-11-14 17 views
0

複数の結果セットを返すストアドプロシージャがあります。出力は、ストアドプロシージャへのさまざまな入力によって異なります。複数の呼び出しで同じ値を返すHibernateストアドプロシージャ

異なる入力を使用して別々にストアドプロシージャを呼び出すと(2回実行)、期待どおりに戻ります。

同じメソッドで2回コールすると、同じ値が返されます。 EXのために

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

:ID = 1、タイプ= "R"、ORIG = "ベガス" DEST = "ロンドン" は、それは、ID = 2、タイプ= "V" のための$ 100 する料金を返し、ORIG = 「ロンドン」destが=「ラスベガス」は、それはIP1と私はSPを実行すると、私はとしてSPを実行すると$ 90

は別に、それは$ 100 を返すように料金を返し別にそれは$ 90

を返しますが、ときに私IP2 JAVAで同じメソッドを使用してSPを2回実行すると、異なる入力セットで$ 100を2回返します。

何が問題なのですか?

答えて

0

奇妙な問題。ここでは、問題をデバッグするために行うことができるいくつかの提案とテストを示します。

  1. hibernateのクエリログを有効にして異常がないか確認してください。
  2. アプリケーションでセカンドレベルのキャッシュを使用しているかどうかを確認してください。はいの場合は無効にして、テストをもう一度実行して、キャッシュに問題がないかどうかを確認します。
関連する問題