[Seasar-user:17913] Re: S2JDBC-Gen の gen-ddl が生成する DDL での主キーのカラム順について

naomix,a go go [E-MAIL ADDRESS DELETED]
2009年 7月 2日 (木) 18:28:13 JST


中村様。

うまくいきました。ありがとうございました。
丁寧な説明で助かりました。

:::::::::::::::::::::::::::::::::
gene


--- Toshihiro Nakamura <[E-MAIL ADDRESS DELETED]> wrote:

> 中村(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を呼び出してみてください。
 



Seasar-user メーリングリストの案内