[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 メーリングリストの案内