SeasarカンファレンスでS2JDBC-Genを紹介しました。

関係者の方、参加された方、おつかれさまでした。

当日の資料は以下のサイトでダウンロードできます。デモが中心だったためページ数は少ないですが、ぜひご覧ください。
http://event.seasarfoundation.org/sc2008autumn/Session#a1

会場で受けた質問やブログで挙がっていた疑問について回答を書いてみます。

Q.対応しているRDBMSは?

A.OracleSQL Server 2005、DB2MySQLPostgreSQL、H2、HSQLDB、Derbyです。テストもこの8つで行っています。ここに挙げたもの以外は動かないところがきっとあります。動かない箇所を教えてくれれば対応します。

Q.データのダンプとロードでExcelを使える?

A.使えません。現在はCSVだけをサポートしています。Excelに対応するとなるとExcel2007への対応が必須になるような気がしていますが、POIってまだ対応していないですよね。要望の多さと、POIの対応状況で考えてみます。DBFluteが、CSV、TSV、Excelのどれでもデータをロードできることを知っていたので、id:jfluteさんに、どれが一番使われていますかとたずねてみたところDBFluteExcelを使うのが一般的だそうです。

Q.CSV出力でBLOBやCLOBに対応している?

A.対応しています。BLOBについては、base64エンコードして出力しています。基本的にS2JDBCで対応されているデータ型に関しては大丈夫です。

Q.CSV出力でデータにカンマが含まれていても大丈夫?

A.大丈夫です。改行コードが入っていたりしても大丈夫です。データはすべてダブルクォートで囲むようにしています。

Q.エンティティのプロパティに書いたコメントをDDLのコメントに反映させられる?

A.できません。今は、JPAアノテーションS2JDBCの規約(JPAの規約)からDDLを生成していますが、JPAアノテーションにそのような機能がないのです。対応するとなるとコメントを指定する独自のアノテーションを作成することになると思います。独自アノテーションを増やすのは慎重にしたいので、同様の要望があるのかどうかもう少し他の方の意見を待ってみたいと思います。

Q.CSV出力でデータが暗号化されていても大丈夫?

A.大丈夫です。ResultSetからとってきたデータをそのまま出力しているだけなので、その時点で暗号化されているなら暗号化されたまま出力されます。

Q.ソースコード管理しているのになぜDDLの履歴をそれとは別に持つの(DDLの最新版だけを管理して履歴はソースコード管理ツールにまかせればいいんじゃないの)?

A.履歴をソースコード管理ツールの最新版に入れておかないと、だれかが過去のバージョンから最新バージョンにマイグレーションしたい場合にそれができないからです。