DBFlute -- 外だしSQLのFAQ


http://d.hatena.ne.jp/jflute/20080117
でのコメントでの質問にお答えします。

> 1.ページングで利用している場合、条件によってページングをせず、
> 全件取得したい場合があります。
> 明示的にページングをOFFにするにはどのようにすればよいのでしょうか?

すいません、確認です。
普段outsideSql().manualPaging().selectPage()を呼び出しているところを、
同じSQLでoutsideSql().selectList()にしてページング関係なしで
全件取得したいということでしょうか?
(ようはその場合に、isPaging()とかがどう動くかってところですかね?)

> 2.複数の外だしSQLで共通のパラメータビーンを利用する場合には、
> SQLのファイルにはどのように記述すればよいのでしょうか?

AというSQLとBというSQLがあって、両方で同じParameterBeanを利用する場合、
Aの方にだけParameterBeanの定義を指定してSql2Entityして下さい。
そして、それで生成されたParameterBeanをそのままBで使って下さい。

実は、Sql2Entityの時点では、特に該当SQLと該当ParameterBeanに関連はありません。
命名も「[Sql名] + Pmb」ではなく、そのとき再利用に都合の良い名前をつけて構いません。
(ParameterBeanの生成は一緒に記載されているSQLには依存してないのです)


> 3.generateで、現在DB上に存在しないクラスを削除するモードってないでしょうか?
> (どうにもスペルミスが多くて、dbfluteバージョンアップのタイミングで気づいて削除してます^^;)
> では、よろしくお願いいたします。

これよく言われますし、自分も使ってて思います。
schema.xmlを読めば「現在どのテーブルが有効なのか」がわかるはずなので、
DBFluteで自動で消せるように考えてみます。

その代わり、bsbhvとかbsentityとかのパッケージに独自でクラスを作成している場合は、
それらも削除されてしまうかも。。。ちょっと方法は考えます。