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