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アノテーションで
マッピングできていることは確認できています。