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とすることで問題は解消。

でも、なんか釈然としない。



コメント

人気の投稿