[seasar-s2dao-dev:284] ×× ModifiedOnly() でカラム名に "_"( アンダースコア ) が含まれる場合にエラー発生
三戸 貴史
[E-MAIL ADDRESS DELETED]
2007年 6月 22日 (金) 19:45:39 JST
はじめまして、むとうと申します。
updateModifiedOnly(Bean bean)メソッドを定義して、setter
が呼び出された項目のみDBを更新しています。
通常、引数のBeanにPKがセットされていない場合はupdateの処
理がskipされるはずですが、Exceptionが発生してしまいます
。
現象を確認したところ、更新対象テーブルのPKのカラム名に"_"(
アンダースコア)が含まれている場合に発生するようです。
Exceptionのログは以下のとおりです。(都合により先頭の数行
のみ抜粋しています。)
org.seasar.framework.beans.PropertyNotFoundRuntimeException:
[ESSR0065]
クラス(××.××Bean)のプロパティ(OPE_ID)が見つかりませ
ん
at
org.seasar.dao.impl.DtoMetaDataImpl.getPropertyType(DtoMetaDataImpl.java:86)
at
org.seasar.dao.impl.UpdateModifiedOnlyCommand.createNoUpdateLogMessage(UpdateModifiedOnlyCommand.java:84)
at
org.seasar.dao.impl.UpdateModifiedOnlyCommand.execute(UpdateModifiedOnlyCommand.java:53)
at
org.seasar.dao.interceptors.S2DaoInterceptor.invoke(S2DaoInterceptor.java:53)
at
org.seasar.dao.pager.PagerS2DaoInterceptorWrapper.invoke(PagerS2DaoInterceptorWrapper.java:71)
ちなみにPKのカラム名とテーブルに対応するBeanのプロパティ
はColumnアノテーションで
マッピングできていることは確認できています。
この現象を回避する(Exceptionを発生させずにupdateの処理をskip
する)にはどのようにすればよいでしょうか?
ご存知でしたらご教授願います。
--------------------------------------
Start Yahoo! Auction now! Check out the cool campaign
http://pr.mail.yahoo.co.jp/auction/
seasar-s2dao-dev メーリングリストの案内