[Seasar-user:2630] Re: 【S2Dao】 (質問) QUERYアノテーションでのSQLコメント[BEGIN]の使用は?

M.Ikarashi ikarashi-m
2005年 9月 29日 (木) 18:24:36 JST


お世話になります。五十嵐です。

> すいません。こちらでは類似の処理がなかったので気がつかなかったのですが
> 確かにQUERYアノテーションでWHERE条件が1つもないものを実行すると
> SQLRuntimeExceptionになりますね。
> こちらではDBがOracleですので、リレーションがあると自動的にWHEREで
> 外部結合してくれるのですが、最後ANDで終わってエラーとなります。
> ORDER BYだけある場合もSQL文法エラーとなってしまいます。(...AND  ORDER BY...)

まつむら様、Oracleでの再現テストを含め、ありがとうございます。

当方では、SQLServerを使用しておりますが、FROM句にJOIN節が生成されるため、
WHERE句には結合条件が設定されません。
→よって、外部結合があるケースでもWHERE句は空になるケースがあります。

識者の皆様、QUERYアノテーションでは、/*BEGIN*/WHEREは、
使用できないのでしょうか?

以上、宜しくお願い致します。

On Thu, 29 Sep 2005 18:12:43 +0900 (JST)
[E-MAIL ADDRESS DELETED] wrote:

> まつむらです。
> 
> みなさま申し訳ございません。メール送信を間違ってしましました・・・。
> 
> >すみません、質問の背景があいまいであるため、頂いたご回答で
> >問題の解決には至りませんでした・・・
> >
> >今回の質問の背景ですが、以下の要件を満たすDaoメソッドの作成を
> >考えておりました。
> >
> >---------------------------------------------------------------------
> >1.エンティティ同士をREL_KEYで結合するため、SQLはなるべく自動生成
> >→SQLアノ/SQLファイルではなく、QUERYを使用
> >
> >2.日付項目等に対する範囲検索がある場合、From/Toのみ、両方指定により
> >    WHERE句での条件を分ける
> >    →>=、<=、BETWEENの使い分け
> >→ARGSアノによる条件句制御を断念
> >
> >3.検索条件がしていさない場合、WHERE句を空にしたい
> >→/*BEGIN*/WHEREの使用を検討
> >---------------------------------------------------------------------
> 
> 
> すいません。こちらでは類似の処理がなかったので気がつかなかったのですが
> 確かにQUERYアノテーションでWHERE条件が1つもないものを実行すると
> SQLRuntimeExceptionになりますね。
> こちらではDBがOracleですので、リレーションがあると自動的にWHEREで
> 外部結合してくれるのですが、最後ANDで終わってエラーとなります。
> ORDER BYだけある場合もSQL文法エラーとなってしまいます。(...AND  ORDER BY...)
> 
> ちなみに、他のDBでは試してません。
> すいません。お役に立てなかったみたいです。
> 
> 
> 
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> http://lists.sourceforge.jp/mailman/listinfo/seasar-user

-- 
M.Ikarashi <[E-MAIL ADDRESS DELETED]>





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