iBatisで同じSQLを流用する際の問題
iBatisが変な動きをした。※正確には、TERASOLUNA
一つのリクエストの中で、同様のSQLを二回発行する必要があったので、二度使った。
SelectDAO seDao1 = new SelectDAO();
seDAO1.setXxxCd("aaa");
SelectResult [] result = query.executeForObjectArray("select1",seDAO1,SelectResult.class);
SelectDAO seDao2 = new SelectDAO();
seDAO2.setXxxCd("aaa");
SelectResult [] result2 = query.executeForObjectArray("select1",seDAO2,.class);
一回目は数件取得され、二回目は通常は一件取得されるようになっている。
一回目の動作は正しいのだけど、二回目がどうしても取得件数が多い。
中身をよく見てみたら、どうも一回目の時の取得結果が残ってしまっているらしい。
二回目で取得した件数が一回目の件数を下回っていると、後ろのほうが上書かれずに残る?
ちょっと想定外の動きすぎて困った。
とりあえず、一回目と二回目では微妙にSQLは異なるので、別のSQLとすることで問題は解消。
でも、なんか釈然としない。
コメント
コメントを投稿