S2Daoの更新系処理の返り値

S2Daoで、SQL自動生成を使った場合とSQLファイルを使った場合とで、更新結果の取り扱いに微妙に違いがあるのね。

  • 自動生成された更新SQLを発行したとき→更新レコード数が1でなければ例外
  • SQLファイルを使って更新SQLを発行したとき→更新数をそのまま返り値に

QUERYアノテーションで条件を付加して、更新件数が0件になる可能性があるSQLを発行しようとした時に微妙にはまった。
自動生成時の更新SQLの返り値はまず1になるはずだから、例外出してくれた方が基本的には嬉しいと思うんだけど、自動生成時とSQLファイルを使った時とで振る舞いが異なるのはちょっとやだなぁ。
更新系のメソッドの返り値がvoid型なら、更新件数1件でなければ例外を出し、int型なら更新件数が何件だろうがそのまま返り値とする、としてくれると嬉しいかも。