[Seasar-user:17896] Re: S2JDBC-Gen の gen-ddl が生成する DDL での主キーのカラム順について
Toshihiro Nakamura
[E-MAIL ADDRESS DELETED]
2009年 7月 2日 (木) 10:21:30 JST
中村(taedium)です。
> ということは、0.9.1までは、エンティティクラスで宣言した順番だったということでしょ
> うか。
はい、そうです。
> 今のバージョンで、DDLのカラムの順番を、エンティティクラスで宣言した順番通りに
> することはできないでしょうか。
カラムの並び替えは、
org.seasar.extension.jdbc.gen.internal.desc.TableDescFactoryImplクラス
のdoColumnDescメソッドで行っているのですが、そこを
差し替えればできます。
以下に手順を説明します。
1)org.seasar.extension.jdbc.gen.internal.desc.TableDescFactoryImplを
継承したクラスを作成し、doColumnDescメソッドをオーバーライドします。
元の処理をコピって、Collections.sortを
呼び出さないようにします。
2)org.seasar.extension.jdbc.gen.internal.desc.DatabaseDescFactoryImplを
継承したクラスを作成し、createTableDescFactoryメソッドを
オーバーライドします。
元の処理をコピって、1)で作成したクラスのインスタンスを返すようにします。
3)org.seasar.extension.jdbc.gen.internal.factory.FactoryImplを
継承したクラスを作成し、createDatabaseDescFactoryメソッドを
オーバーライドします。
そこでは2)で作成したクラスのインスタンスを返すようにします。
4)Gen-DdlタスクのfactoryClassNameパラメータに3)で作成した
クラスの名前を指定します。
これで、Gen-Ddlを呼び出してみてください。
--
Nakamura Toshihiro <[E-MAIL ADDRESS DELETED]>
Seasar-user メーリングリストの案内