[Seasar-user:19800] Re: [Doma]Enumの利用での要望

Toshihiro Nakamura [E-MAIL ADDRESS DELETED]
2010年 5月 26日 (水) 01:18:33 JST


中村(taedium)です。

> sqlのテンプレートファイルを用意してantのパラメータに名前追加して実行すると
> 拡張したsqlファイルも出来るようになりませんでしょうか。

テンプレートファイルを追加できるようにしてみました。
SNAPSHOTを作成したのでお試しください。

http://maven.seasar.org/maven2-snapshot/org/seasar/doma/doma-gen/1.7.0-SNAPSHOT/doma-gen-1.7.0-20100525.155238-1.jar

使い方ですが、
templatePrimaryDirパラメータに適当なディレクトリ名を指定して
そのディレクトリに、hoge.sql.ftlみたいに名前が「.sql.ftl」で終わる
テンプレートファイルをおいてください。

そのテンプレートファイルから、各Daoに対して、
hoge.sqlというような「.ftl」を除いた名前のSQLファイル
を生成できます。
テンプレートファイルで参照できるのは、
org.seasar.doma.extension.gen.SqlDescのインスタンスです。
たとえば、テンプレートファイルに次のように記述すれば

  select * from ${entityDesc.qualifiedTableName}

次のような内容をもつSQLファイルを生成できます。

  select * from Employee

> 論理削除などのメソッドは使われることも多そうなので検討していただいても良いでしょうか?

論理削除が必要かどうかや、どういった形式のものがいいかは
要件に依存するので、上記の機能とDaoのテンプレートファイルの
変更で対応してもらえればと思います。

個人的におすすめなのは、ブログで紹介した方法。SQLを書かなくてOKです。
http://d.hatena.ne.jp/taedium/20100403/p2

selectAll()は、Doma-Genを作ったときに検討したのですが、
全件取得はサンプル以外ではあまり使わないはずと判断して
生成しないようにしています。

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




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