[Seasar-user:1349] Re: S2Dao の更新処理 (Timestamp による排他制御付き ) で例外が発生します。

Nobuhiko KAMIKAWA kamikawa
2005年 4月 6日 (水) 01:08:32 JST


うちま様、ひが様

ご回答、ご対応ありがとうございました。
# 元メールが曖昧な記述だったこともあり、
# 混乱させた面もあったかと思います。失礼しました。
--
上川伸彦 <kamikawa @ bbreak.co.jp>
株式会社ビーブレイクシステムズ - http://www.bbreak.co.jp
東京都品川区西五反田2-28-2-5F : 03-5487-7855

>ひがです。
>
>> はじめまして、上川と申します。
>> 
>> 
>> 一応、ソース(org.seasar.dao.impl.UpdateAutoHandler#updateBean(Object, Object[]))を見てみたところ、
>> DBテーブルを更新した後に、Javaオブジェクトのtimestamp値を更新するために、
>> ----------------------------------------
>>         if (bmd.hasTimestampPropertyType()) {
>>             for (int i = 0; i < bmd.getPropertyTypeSize(); ++i) {
>>                 PropertyType pt = bmd.getPropertyType(i);
>>                 if (pt.isPersistent()
>>                         && !pt.isPrimaryKey()
>>                         && !pt.getPropertyName().equals(
>>                                 BeanMetaData.VERSION_NO_PROPERTY_NAME)
>>                         && pt.getPropertyName().equalsIgnoreCase(
>>                                 BeanMetaData.TIMESTAMP_PROPERTY_NAME)) {
>> 
>>                     PropertyDesc pd = pt.getPropertyDesc();
>>                     pd.setValue(bean, bindVariables[i]);
>>                 }
>>             }
>>         }
>> ----------------------------------------
>> という処理をしているので、
>>  ・ifに入って一度更新したら、returnする。
>
>対応しました。



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