[seasar-s2dao-dev:544] Re: NotSingleRowUpdatedRuntimeExceptionを無視する仕組み
Toshihiro Nakamura
[E-MAIL ADDRESS DELETED]
2007年 11月 5日 (月) 10:44:48 JST
中村(taedium)です。
> > インタフェース全体への指定はS2Daoアノテーションのメンバを増やした方がいい
> > かなとも思ったのですが、とりあえずはメソッドに付けるのを使い回してみました。
> > ここは、ご意見を伺いたいところです。
>
> 1晩たって冷静になったところ、やはりメンバを増やしたほうが自然な気がしてきた
> ので、そのように修正しました。これで、以下のように指定できる形になりました。
>
> @S2Dao(bean = Foo.class, changeSingleRowUpdate = false)
> public interface FooDao {
> // ...
>
> メソッド単位の場合は、以下のような感じです。
>
> @CheckSingleRowUpdate(false)
> public insert(Foo foo);
私はクラスに指定する場合とメソッドに指定する場合で使う
アノテーションが一緒のほうがわかりやすいように感じます。
ですので、@CheckSingleRowUpdateをクラスにもメソッドにも
指定できるという最初の案がいいかなぁ。
> この作業をしていて気が付いたのですが、NotSingleRowUpdatedRuntimeException
> て外部から実際に投げるクラスを指定できそうな作りをしてますが、実装が途中で
> 終わった感じになってるのですね。私には用途が思いつきませんでしたが(^^;
AbstractSqlCommandの
notSingleRowUpdatedExceptionClassプロパティのことですよね?
これは私も気になっていました。
外から指定できるけど、使われていないように見えますね。
> 現状Beanアノテーションに指定したBeanじゃない戻り値も使えるので、結合した
> 結果を元のBeanを継承したDtoに結合先の列指定だけ追加して戻り値として使うとい
> うこともできるので、そのときに引き継がれると便利かなぁと。
便利さがちょっとわかりませんでした。
「結合先の列指定だけ追加して」とはどういう感じ?
今のままだとどう不便なんでしょうか?
もし親を見るのが便利だとしても
java.lang.annotation.Inheritedを使えばいいのかなぁと思いました。
--
Nakamura Toshihiro <[E-MAIL ADDRESS DELETED]>
seasar-s2dao-dev メーリングリストの案内