[Seasar-user:11287] [S2Dxo] 日付型の変換に関して
Nishioka Naoto
[E-MAIL ADDRESS DELETED]
2007年 10月 25日 (木) 23:57:47 JST
いつもお世話になっております、にしおかです。
S2.4.17を使用しています。
S2Dxoを用いた場合の日付の変換(コピー)に関してですが、
java.sql.Date -> java.util.Date 等、
異なるクラスへの変換の場合は
一度ミリ秒に変換してから変換先のオブジェクトを
新たに作成する一方、
java.sql.Date -> java.sql.Date 等、
同じクラスへの変換の場合は元のオブジェクトをそのまま戻しています。
(org.seasar.extension.dxo.converter.impl.SqlDateConverter
クラス等のソースより)
この結果、同じjava.sql.Date型を有する2つのクラスで
オブジェクトの変換(コピー)を行った場合、
片方での値の書き換えが他方にも影響してしまいます。
同じオブジェクトであるべきか異なるオブジェクトであるべきか、
また、変換(コピー)後に片方のみ書き換えるような
処理の書き方が適切なのか否か、
判断の難しいところかとは思いますが、
個人的には、異なるクラスに変換したときと同様、
ミリ秒を経由して新規オブジェクトが生成された方が
何かと都合がいいのではないかと思うのですが、いかがでしょうか。
あるいは、アノテーションか何かで簡単に挙動を
切り替えることができる、というのでもいいかもしれません。
------------------------------
Nishioka Naoto
Seasar-user メーリングリストの案内