[Seasar-user:1120] Re: S2Daoのパラメータバインドルールについて

Hisayoshi Sasaki sasaki
2004年 10月 15日 (金) 17:49:41 JST


加藤さん

こんにちは。グルージェント佐々木です。

私も同様のエラーが発生しました。

[ML:1115] --------------------------------------------
> org.seasar.extension.jdbc.ColumnNotFoundRuntimeException:
> [ESSR0068]テーブル(system.UPDATE_PAGES_TABLE)のカラム(updateId)が見つかりません
> at 
> org.seasar.dao.impl.BeanMetaDataImpl.convertFullColumnName(BeanMetaDataImpl.java:182)
> at 
> org.seasar.dao.impl.DaoMetaDataImpl.createAutoSelectSql(DaoMetaDataImpl.java:317)
-----------------------------------------------------

私の場合の原因は、宣言したメソッドに対応するSQLファイルが
ありませんでした(^^;
その結果、S2DaoがSQLの自動生成時にARGSアノテーションで
定義した値を実カラム名と判断して例外が発生したようです。
S2Daoのドキュメントに検索SQLの自動生成について記述が
ありました。

http://homepage3.nifty.com/seasar/s2dao.html
「メソッドのsignatueより、 S2Daoに自動的にSELECT文を生成させることもできます。ARGSアノテーションにカラム名を指定することで、引数の値によってWHERE句が変わるような動的なSQL文も自動生成できます。」

補足:
[ML:1115] --------------------------------------------
> S2Dao1.0.12(公開されているそのままのものです)で、
> アンダースコア付きの項目を、プロパティ名でSQLのパラメータに
> バインドしようとすると次の例外が発生します。
-----------------------------------------------------
例外が発生した環境はアンダースコアなしの項目は、実カラム名
そのままなので、この例外は発生しないようです。


おそらく、加藤さんの場合もSQLファイル名を間違えていたとかで、
自動生成する形になっていたのではないでしょうか。

/--------------------------------/
 株式会社 グルージェント   開発部
  佐々木 久禎(Hisayoshi Sasaki)
  Tel  : 03-5469-8869
  Fax : 03-5469-8879
  mailto : sasaki @ gluegent.com
/--------------------------------/ 




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