[Seasar-user:15977] Re: [S2JDBC-Gen] Oracle10gXE の date型について
Toshihiro Nakamura
[E-MAIL ADDRESS DELETED]
2008年 10月 14日 (火) 17:25:20 JST
中村(taedium)です。
> Date 型に日時を保存しているのですが Dump-Data や Load-Data の際に
> 年月日までしか CSV に保存されませんし、読み込みもできません。
>
> Oracle の Date 型は秒まで保存できるのですが、扱うようにすることは
> できますでしょうか?
Oracleでカラムを定義する際に、
DATE型ではなくTIMESTAMP型を使用すると
Gen-Entityタスク実行の際にエンティティのプロパティが
@Temporal(TemporalType.Timestamp)
public Date date;
となって生成されます。
この場合、CSVに秒もふくまれます。
現在のソースコードは、
@Temporal(TemporalType.Date)
public Date date;
となっていると思いますが、TemporalType.Dateを
TemporalType.Timestampに書き換えてもらっても大丈夫です。
> 別件ですが、Load-Data 時にデータを消すオプションがないのですが
> Truncate-Data などのタスクか、Load-Data にデータを消してからロード
> するというオプションがあればありがたいと思いました。
たしかにそうですね。
オプションをつける方向で考えてみたいと思います。
ただ、データを消してからのロードはMigrateタスクで
代用できる場合もあります。
SCHEMA_INFOテーブルとddl-info.txtで管理されている
いるバージョン番号が同じであれば、
Migrateタスクは同じバージョン間でスキーマの
再作成とCSVのロードを行います。
つまり、Dump-Dataのデフォルトの出力先を利用していれば
(デフォルトの出力先はMigrateの対象ディレクトリなので)
Migrateタスクの実行で、実質的にデータを消してからロード
を実現できます。
--
Nakamura Toshihiro <[E-MAIL ADDRESS DELETED]>
Seasar-user メーリングリストの案内