[Seasar-user:15109] Re: [S2JDBC]Enum型プロパティの場合のDBに格納される値を変更したい
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2008年 7月 22日 (火) 18:00:44 JST
小林 (koichik) です.
Date: Sat, 19 Jul 2008 11:53:44 +0900
From: "田山 博一たやま ひろかず" <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:15099] Re: [S2JDBC]Enum型プロパティの場合のDBに格納される値を変更したい
> 火曜日の対応で問題ないです。
お待たせしました.
ValueTypes に 3 つのメソッドを追加しました.
setEnumDefaultValueType(Class valueType)
@Enumerated が指定されていない場合に使われる
ValueType を設定します.
デフォルトは EnumType です.
setEnumStringValueType(Class valueType)
@Enumerated(EnumType.STRING) が指定された場合に
使われる ValueType を設定します.
デフォルトは EnumType です.
setEnumOrdinalValueType(Class valueType)
@Enumerated(EnumType.ORDINAL) が指定された場合に
使われる ValueType を設定します.
デフォルトは EnumOrdinalType です.
特定の enum 型だけ変更したい場合は従来同様
registerValueType(Class clazz, ValueType valueType)
を使うことが出来ます.
通常は setEnumDefaultValueType() だけ
設定すれば十分かと思います.
設定方法は以下のようになります.
<component name="jdbcManager"
class="org.seasar.extension.jdbc.manager.JdbcManagerImpl">
...
<initMethod>
@[E-MAIL ADDRESS DELETED](
@[E-MAIL ADDRESS DELETED])
</initMethod>
</components>
なお,SQL 自動生成で渡されたパラメータには
@Enumerated の指定が反映されますが,
SQL および SQL ファイルを使った場合の
パラメータには影響がありません.
# 時制などと同様.
SNAPSHOT をデプロイしたのでご確認ください.
http://maven.seasar.org/maven2-snapshot/org/seasar/container/s2-framework/2.4.27-SNAPSHOT/s2-framework-2.4.27-20080722.083442-5.jar
http://maven.seasar.org/maven2-snapshot/org/seasar/container/s2-extension/2.4.27-SNAPSHOT/s2-extension-2.4.27-20080722.083442-5.jar
http://maven.seasar.org/maven2-snapshot/org/seasar/container/s2-tiger/2.4.27-SNAPSHOT/s2-tiger-2.4.27-20080722.084557-5.jar
--
<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 メーリングリストの案内