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