[Seasar-user:2292] Re: S2Dao優先順位

AGATA Toshitaka agata
2005年 6月 29日 (水) 09:30:46 JST


あがたです。
上原さん、はじめまして。

>SELECTのときはQUERYアノテーションはWhere句ORDER BY句
>DELETEのときはQUERYアノテーションはWhere句
>INSERTのときは(フィールド名,...) VALUES (値,...)
>UPDATEのときはSET句WHERE句

QUERYアノテーションは「WHERE文以降の条件を定義する」だけで
SQLが組み立てられるというためのものだと思っていました。
SELECTとDELETEの仕様は賛成です。

INSERTとUPDATEは、以下の理由から仕様が微妙だと思いました。

・アノテーションごとに書くことがばらばらなので、
 使い方がわかりにくい。
・*.SQLファイルを使用するのとあまり変わらない。
 (*.SQLを使用すれば良いのでは?)

UPDATEは、SETは対象とせず「WHERE文以降の条件を定義する」もの
としてしまうのが一番わかりやすいような気がします。
INSERTは・・・サポートしなくても良いかもですね。

また、QUERYアノテーションのメリットとしては、
SELECTとUPDATEはそれぞれSELECT句とSET句のカラム名を
自動生成してくれる点だと思っています。
DELETEとINSERTの場合、カラム名は自動生成しない(認識あってます?)
ためQUERYアノテーションのメリットは薄いのかな、と思っています。

QUERYアノテーションとは別に「SQLアノテーション」を作って、
SQLファイルの内容を書けるようにするという方法もありますね。

#要望の登録ありがとうございます。
#すごくわかりやすくなりましたねー
#私もコミッタですので、お手伝いしていきたいと思っています。

以上です。

>上原です。
>SourceForgeのBTSにMLで要望があがってそのままになっているらしきもの
>を突っ込んでおきました。見落としがありましたらおしらせください。
>
>とりあえず、 	
>6241 insertなどの SQL を xxx_QUERY で記述しても認識されない
>から着手しようかなと思っています。
>6241に対応すれば、
>6243  	insertなどの引数を Bean 以外にするとExcption
>も自然と対応できるのではないかと思うのですがどうでしょうか。
>
>ここで今の自分の理解では、
>SELECTのときはQUERYアノテーションはWhere句ORDER BY句
>DELETEのときはQUERYアノテーションはWhere句
>INSERTのときは(フィールド名,...) VALUES (値,...)
>UPDATEのときはSET句WHERE句
>を書くことになってしまうんですが、これでいいでしょうか?
>QUERYアノテーションに書くことがばらばらですし、
>QUERYアノテーションという名前とあっていないような気もします。
>INSERT、UPDATEの時は別のアノテーションにする手もあると思いますが、
>アノテーションの種類が増えすぎるのも考え物です。
>
>何か意見がありましたらお聞かせください。
>また、その前に別のことやれって言う意見でも結構です。
>よろしくお願いします。
>---
>上原 慶三<[E-MAIL ADDRESS DELETED]>
>_______________________________________________
>Seasar-user mailing list
>[E-MAIL ADDRESS DELETED]
>http://lists.sourceforge.jp/mailman/listinfo/seasar-user



Seasar-user メーリングリストの案内