[seasar-dotnet:2251] Re: InsertでVERSIONNOに初期値の0が設定されない

kubo [E-MAIL ADDRESS DELETED]
2013年 3月 14日 (木) 14:38:39 JST


久保(jflute)です

koalaさん、フィードバックありがとうございます!
こちら「S2Dao.NET」ですよね。
なるほど、Timestampの方は区別なしで、
VersionNoは区別ありは中途半端ですね。

2013/3/14 koala <send2xls @ hotmail.com>:
> お世話になっております。こあらです。
>
> 掲題の現象の報告です。
>
> ■現象
> InsertでVERSIONNOに初期値の0が設定されない
>
> ■原因
> VersionNoプロパティかどうか名前をチェックするとき大文字と小文字を区別して比較しているため、
> エンティティのプロパティ名が「VERSIONNO」だと、通常のバインド変数として処理される。
>
> ■ソース
> Seasar.Dao.Impl.AbstractAutoHandler
> protected void SetupInsertBindVariables(object bean)
> 181                     else if (pt.PropertyName.Equals(BeanMetaData.VersionNoPropertyName))
>
> ■補足
> ちなみにTimestampプロパティやUpdateのときは、大文字と小文字を無視して比較していました。
>
> 例としてSetupUpdateBindVariablesでは以下の通り
> 208                     else if (string.Compare(pt.PropertyName, BeanMetaData.VersionNoPropertyName, true) == 0)
>
> ■修正方法
> 181行目を208行目と同様に変更する
>
> 以上ご検討よろしくお願い致します。
> _______________________________________________
> seasar-dotnet mailing list
> seasar-dotnet @ ml.seasar.org
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet


seasar-dotnet メーリングリストの案内