へなちょこSEの考察

0x1E歳のへなちょこSEが、日々思うことを考察します。自社内、金融系を経て現在法人系PKG開発に従事。

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とすることで問題は解消。
でも、なんか釈然としない。