[Seasar-user:9983] Re: [DBFlute]torque.versionNoFieldNameの設定方法

Yu Tagaya [E-MAIL ADDRESS DELETED]
2007年 8月 20日 (月) 17:18:27 JST


久保さん
多加谷です。

追加情報です。

> □torque.versionNoFieldName = VerNo
>
>    /** VERSION_NO-Annotation */
>    public static final String VERSION_NO_PROPERTY = "verno";

の状態で、

    /** VERSION_NO-Annotation */
    public static final String VERSION_NO_PROPERTY = "verNo";

に変えたらうまく行きました。

vmを見ると、"$table.VersionNoUncapitalisedJavaName"で出力していますね。

DBFluteを改造したせいかとも思いましたが、UpdateDateのときはうまく
行っていますし、ここだけ失敗する理由がわかりません。
フィールド名が悪いんですかね。

> 久保さん
> 多加谷です。
>
> 以下の結果となりました。
>
> □torque.versionNoFieldName = VerNo
>
>    /** VERSION_NO-Annotation */
>    public static final String VERSION_NO_PROPERTY = "verno";
>
> □torque.versionNoFieldName = verNo
>
>    VERSION_NO_PROPERTYが生成されない。
>
>> 久保です。
>>
>> 多加谷さん、こんにちは
>>
>>> DBFluteのtorque.versionNoFieldNameにバージョン管理用のフィールド名を
>>> 設定し、排他制御しようとしていますが、where句には条件が入るものの、
>>> 値がインクリメントされません。
>>
>> まず、仕様的には、S2Daoが自動でインクリメントしてくれるはずです。
>> なので、利用者(DBFluteも含めて)そこを意識する必要はないはずです。
>>
>> 設定を見る限り、特に問題はなさそうです。
>>
>> 唯一、言えるのは、commonColumnSetupBeforeInsertInterceptorLogicMapで
>> 「VerNo=new java.math.BigDecimal(1)」としていますが、
>> S2Daoが自動で付与してくれるはずなので、この設定は不要です。
>> ですが、上記の問題としている現象とは無関係と思われます。
>> (設定してても単に無視されるだけのはず)
>>
>> 具体的には、AbstractAutoHandler#setupUpdateBindVariables()で
>> インクリメントされています。
>>
>>> ・設定ファイル
>>> torque.versionNoFieldName = VerNo
>>
>> 試しに
>>
>> torque.versionNoFieldName = VerNo
>>
>>>>
>> torque.versionNoFieldName = verNo
>>
>> でやってみて頂けます?
>>
>>    } else if (pt.getPropertyName().equals(versionNoPropertyName)) {
>>        Object value = pt.getPropertyDesc().getValue(bean);
>>        int intValue = IntegerConversionUtil.toPrimitiveInt(value) + 1;
>>        setVersionNo(new Integer(intValue));
>>        varList.add(getVersionNo());
>>
>> で、「pt.getPropertyName()」で比較しているので、
>> 「列名 = VerNo / プロパティ名 = verNo」
>> なので、verNoでないといけないような気がします。
>>
>>
>> #
>> # C#の場合は、プロパティ名は先頭が大文字なので
>> # VerNoのままでもOKだったのかも...
>> #
>>
>> _______________________________________________
>> Seasar-user mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
> 




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