[Seasar-user:15882] Re: Oracle での version カラムについて

Kizashi Nagata [E-MAIL ADDRESS DELETED]
2008年 9月 30日 (火) 17:05:26 JST


小林さん

> S2JDBC のエンティティはほぼ JPA 仕様の
> サブセットなのですが,JPA 仕様で @Version に
> BigDecimal は許されていないので,S2JDBC でも
> 対象にしていません.

なるほど。そういう仕様なんですね。
精度も含め、再検討いたします。

ありがとうございました。

> 小林 (koichik) です.
>
> Date:    Tue, 30 Sep 2008 16:10:38 +0900 (JST)
> From:    "Kizashi Nagata" <[E-MAIL ADDRESS DELETED]>
> To:      [E-MAIL ADDRESS DELETED]
> Subject: [Seasar-user:15880]  Oracle での version カラムについて
>
>> Scaffold作成時に作成されたEntityでは version は
>>
>>   @Version
>>   public BigDecimal version;
>>
>> というように、BigDecimal 型で定義されています。
>
> おそらく,VERSION カラムの型が NUMBER に
> なっていて,精度 (桁数) を指定していないのでは
> ないでしょうか?
>
> その場合,整数部の精度はデフォルトで 38 桁に
> なり,Long の範囲を超えるため,Scaffold は
> BigDecimal にマッピングしますが,BigDecimal は
> @Version プロパティとして使うことは出来ません.
>
> 精度を明示的に指定して,Number(9) 以下なら Integer,
> Number(19) 以下なら Long になり,@Version プロパティ
> として扱うことが出来ます.
>
>> 【お願い】
>> BigDecimal も version の型に含めていただくことはできますでしょうか?
>
> S2JDBC のエンティティはほぼ JPA 仕様の
> サブセットなのですが,JPA 仕様で @Version に
> BigDecimal は許されていないので,S2JDBC でも
> 対象にしていません.
>
>
> カラムの精度を明示して Integer または Long の
> 範囲に収まるようにするか,生成されたエンティティの
> version プロパティの型を Integer または Long に
> 変更してください.
>
>
> --
> <component name="koichik">
>     <property name="fullName">"Koichi Kobayashi"</property>
>     <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
>     <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
> </component>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
>


--
kizashi
[E-MAIL ADDRESS DELETED]



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