OracleでSELECT文を自動生成したときのバグ
s2dao1.0.4を入れてみる。
すると、selectのsql自動更新処理のとこで例外発生。
一個前のバージョンと比較してみると、
org.seasar.dao.dbms.Oracleの48行目のwhereBuf.setLength(whereBuf.length() - 5);
がループの外にでている。
この箇所を修正したら正常に動くようになったのですが、これはバグでしょうか?
OracleでSELECT文を自動生成させ、N:1のマッピングがない場合に、例外が発生しますね。
対応策は、whereBuf.setLength(whereBuf.length() - 5);を
if (whereBuf.length() > 0) {
の直後に移動します。
ご迷惑をおかけしますが、よろしくお願いします。
//whereBuf.setLength(whereBuf.length() - 5);
if (whereBuf.length() > 0) {
whereBuf.setLength(whereBuf.length() - 5);
buf.append(" WHERE ");
buf.append(whereBuf);
}