S2Dao 更新系メソッドの仕様
汎用性を考えるとこんな感じが良くないかなぁ?
- int insert(Bean bean)
- 更新件数が1 → 1を戻り値で返す。
- 更新件数が1以外 →
例外をスロー(または戻り値で返す)。
- void insert(Bean bean)
- 更新件数が1 → 何もしない。
- 更新件数が1以外 → 例外をスロー。
- int update(Bean bean) / int delete(Bean bean)
引数が transient (versionNo または timestamp が未設定)
→ 更新件数を戻り値で返す。引数が persistent (versionNo または timestamp が設定)更新件数が1 → 1を戻り値で返す。更新件数が1以外 → 例外をスロー (または戻り値で返す)。
- void update(Bean bean) / void delete(Bean bean)
引数が transient (versionNo または timestamp が未設定)
→ 何もしない。引数が persistent (versionNo または timestamp が設定)- 更新件数が1 → 何もしない。
- 更新件数が1以外 → 例外をスロー。
この辺のルールが簡単にカスタマイズできるようになっているといいかも。
DaoInterceptor のサブクラスを作ってオーバライドできればそれでもいい。
改訂版
やっぱりちょっと複雑すぎるから、最初の案でいいか...(^^;)
- int insert/update/delete(Bean bean)
→ 更新件数を戻り値で返す。 - void insert/update/delete(Bean bean)
-
- 更新件数が1 → 何もしない。
- 更新件数が1以外 → 例外をスロー。
-