[Seasar-user:17175] Re: [S2JDBC-Gen]DDLファイルにダブルクォーテーション

Yukei WACHI [E-MAIL ADDRESS DELETED]
2009年 4月 3日 (金) 06:45:40 JST


To. 中村さん

なるほど、拡張ポイントがあったのですね。
丁寧に教えていただき、ありがとうございました。

---
Yukei Wachi

On Apr 3, 2009, at 12:26 AM, Toshihiro Nakamura wrote:

> 中村(taedium)です。
>
>> s2jdbc-gen-build.xmlを使用してDDLファイルを作る際、
>> テーブル名がダブルクォーテーションで括られたエン
>> ティティについては、
>> 生成されるファイル名にもクォーテーションがついて
>> います。
>
> 今は、ダブルクォテーションだからといって
> なんら特別扱いしていませんが、
> 自動で取り除いてしまってもいいかもしれないですね。
> (それで困るケースがない気がする)
>
>> もし対応策があるようでしたらご教授ください。
>
> S2JDBC-Genで用意された拡張ポイントを利用できます。
> 手順としては次のとおりです。
>
> 1.TableDescFactoryImpl#buildCanonicalName()をオーバーライドし
>  ダブルクォテーションを取り除いた値を返すクラスを作成する。
> 2.DatabaseDescFactoryImpl#createTableDescFactory()をオー 
> バーライドし
>  1で作成したクラスのインスタンスを返すようにする。
> 3.FactoryImpl#createDatabaseDescFactory()をオーバーライドし
>  2で作成したクラスのインタスタンスを返すようにする。
> 4.Gen-DdlなどのタスクのfactoryClassNameパラメータに
>  3で作成したクラスの名前を指定する。
>
>
> 上記の方法が面倒くさいという場合は、
> アドホックな方法ですが、
> TableUtil.buildCanonicalTableName()というstaticメソッドを
> 書き換えてしまうという荒技?もあります。
> 最終的にはここで返された値がファイル名に使われるので
> ダブルクォテーションを取り除いた値を返すようにしてください。
> -- 
> Toshihiro Nakamura
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user










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