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

Kizashi Nagata [E-MAIL ADDRESS DELETED]
2008年 9月 30日 (火) 16:10:38 JST


永田と申します。
いつもお世話になっております。

【現象】
SAStrutsのScaffoldにて、データ一覧を開こうとしたらエラーとなります。

【環境】
Tomcat6
Oracle10g

【作成したテーブル】
テーブルの属性として、"version" という名前のNumber型のカラムを設けております。
エンティティ自動生成時に@Versionと認識されています。

【原因(推測ですが・・)】
一覧を開いたときに発生する例外は以下のとおりです。

END kizashi.session.service.StudySessionService#findAll() Throwable:org.seas
ar.extension.jdbc.exception.VersionPropertyNotNumberRuntimeException: [ESSR0
740]エンティティ(StudySession)のバージョンプロパティ(version)が数値型ではあ
りません (Timestamp型はサポートしていません)。

org.seasar.extension.jdbc.meta.PropertyMetaFactoryImpl の doVersion
メソッドにて、VersionPropertyNotNumberRuntimeException がスローされ
ています。このメソッドでは、

  if (clazz != Integer.class && clazz != Long.class && clazz != int.class
                && clazz != long.class) {
        throw new VersionPropertyNotNumberRuntimeException(entityMeta
                  .getName(), propertyMeta.getName());
  }

と、Version の型は Integer/Long/int/long と限定しているのですが、
Scaffold作成時に作成されたEntityでは version は

  @Version
  public BigDecimal version;

というように、BigDecimal 型で定義されています。

【お願い】
BigDecimal も version の型に含めていただくことはできますでしょうか?

よろしくお願いいたします。

--
kizashi
[E-MAIL ADDRESS DELETED]
http://d.hatena.ne.jp/n-kizashi



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