メソッド毎の説明がドキュメントに全くないので
取り急ぎ、ここで紹介しましょう。memberBhv.outsideSql().selectList(path, pmb, entityType);
→ リスト検索。外だしSQLの大半の利用がこのメソッドになる。
memberBhv.outsideSql().entityHandling().selectEntity(path, pmb, entityType);
→ 1件検索。無い場合はnull。
memberBhv.outsideSql().entityHandling().selectEntityWithDeletedCheck(path, pmb, entityType);
→ 1件検索。無い場合は例外。
memberBhv.outsideSql().cursorHandling().selectCursor(path, pmb, handler);
→ カーソルハンドリング。第3引数のCursorHandlerでResultSetを直接利用。
memberBhv.outsideSql().autoPaging().selectPage(path, pmb, entityType);
→ 自動ページング。第2引数はPagingBean実装。戻り値はPagingResultBean
。
ResultSetによる絞込みを利用するため、SQLでページング絞込みを意識する必要がない。
(SQLにDBMSごとのページング絞込みを自動埋め込みは検討中)
memberBhv.outsideSql().manualPaging().selectPage(path, pmb, entityType);
→ 手動ページング。第2引数はPagingBean実装。戻り値はPagingResultBean
。
SQLでページング絞込みを行う必要がある。(但しIndexの計算処理等はPagingBeanにて自動処理)MySQLやPostgreSQLなどのページング絞込みが簡単なDBではmanualPagingでも全く苦は無いと
思われるが、OracleやSQLServer、DB2などでは煩雑に思われるかもしれない。
但し、業務アプリでパフォーマンスを厳密に考慮したい場合は、autoよりもmanualの方が優れている。
memberBhv.outsideSql().dynamicBinding().selectList(path, pmb, entityType);
→ 動的なBind変数をサポートする。要は埋め込み変数コメントの文字列中にバインド変数コメントを
いれることが可能になる。但し、動的解析する分、ほんの少しだけパフォーマンスが落ちる。
dynamicBinding()を呼べば、全てのメソッドでそうなる。(selectList()に限らない)