[Seasar-user:10138] Re: [S2Dao] Oracle JDBC使用時の QueryアノテーションのBEGINコメントについて
Toshihiro Nakamura
[E-MAIL ADDRESS DELETED]
2007年 8月 28日 (火) 12:00:31 JST
中村(taedium)です。
> 題記、QueryアノテーションでBEGINコメントを使用すると、自動生成されるSQLにwhreが2回出力され
> org.seasar.framework.exceptin.SQLRuntimeExceptionが発生してしまいます。(エラーコードは[ESSR0072] SQLで例外。)
ItemmstとCategorymstにN:1のマッピングを指定していると想定し、
こちらで試してみましたが再現しませんでした。
次のように正しいSQLが作成されました。(フォーマットは整形しています。)
SELECT
Itemmst.categoryid,
Itemmst.id, Itemmst.makerid,
Itemmst.price,
categorymst.id AS id_0,
categorymst.name AS name_0
FROM
Itemmst,
Categorymst categorymst
WHERE
Itemmst.CATEGORYID = categorymst.ID(+)
AND
Itemmst.categoryid = '1'
AND
Itemmst.makerid = '1'
AND
Itemmst.price <= '1'
> トラッキングの[DAO-031]を参考に/*BEGIN*/WHERE 部分を/*BEGIN*/AND にしても同様にExceptionが発生します。
> 原因、対策等をご存知の方、ご教授お願い致します。
/*BEGIN*/WHERE 部分を/*BEGIN*/ANDに置き換えるのはS2Daoが行う
のでアプリケーション側で対応する必要はありません。
古いバージョンのjarにクラスパスが通っていないか確認して
もらえないでしょうか。
--
Toshihiro Nakamura <[E-MAIL ADDRESS DELETED]>
Seasar-user メーリングリストの案内