DBFlute -- StatementConfig/DBFluteConfig

http://d.hatena.ne.jp/mugiccha/20080109/1199897181

やはりJDBCのオプションを自由に指定できないといけないと痛感したので...
以下のように指定できるようにしました。(DBFlute-0.6.2より)
MemberCB cb = new MemberCB();
cb.configure(new StatementConfig().typeForwardOnly().queryTimeout(180));
... = memberBhv.selectList(cb);
MemberCB cb = new MemberCB();
cb.configure(new StatementConfig().fetchSize(100).maxRows(20));
... = memberBhv.selectList(cb);
StatementConfig config = new StatementConfig();
config.typeForwardOnly().queryTimeout(180));
... = memberBhv.outsideSql().configure(config).selectList(cb);
また、アプリケーション全体でのデフォルト値というのも指定できるようにしました。
ConditionBeanやOutsideSqlでconfigure()が指定されないときのデフォルト設定として。
StatementConfig config = new StatementConfig().typeForwardOnly().queryTimeout(180));
DBFluteConfig.getInstance().setStatementConfig(config);
// 必ずContainerの初期化前に実施すること
なので、DB2のBLOB/CLOB問題でResultSetTypeをどうにかしたいときは:

 1. 局所的であれば、ConditionBeanやOutsideSqlのconfigure()で指定
 2. 全体的であれば、アプリ初期化時にDBFluteConfigで指定

という感じになります。

http://dbflute.sandbox.seasar.org/contents/dbvendor/db2.html
にも書いています。