[seasar-s2dao-dev:407] Re: [Seasar-user:9751] Re:[S2Pager]拡張PagerCondition使用時にSQLException
SETO Azusa
[E-MAIL ADDRESS DELETED]
2007年 8月 9日 (木) 12:29:02 JST
せとあずさです。
On Wed, 8 Aug 2007 23:16:33 +0900
"Jundo Ishikawa" <[E-MAIL ADDRESS DELETED]> wrote:
> ともあれ、ここまで色々考えてみて、悩み事が出てきてしまいました。
>
> ・PreparedStatementFactoryとResultSetFactoryのどちらでやるか。
> (案)従来と変わってしまいますが、PreparedStatementの方が実装とはマッチ
> している気がするので、こっちが希望です。PreparedStatementもきっちり
> クローズ出来ますし。
>
> ・PreparedStatementFactoryでやるとした場合、LimitOffsetの方をどうするか。
> (案)一端、LimitOffsetのコードを元(1.0.44)に戻して、新しい実装も追加す
> る。従来のものは互換性維持の為のみに残し、新規には使って欲しくな
> いというスタンスを取る。
>
(あえて)PreparedStatementのことだけ考えるとS2のBasicSelectHandler#executeを
protected Object execute(PreparedStatement ps) throws SQLException {
if (resultSetHandler == null) {
throw new EmptyRuntimeException("resultSetHandler");
}
ResultSet resultSet = null;
try {
resultSet = createResultSet(ps);
return resultSetHandler.handle(resultSet);
} finally {
Statement st = null;
if (resultSet != null) {
st = resultSet.getStatement();
}
if (st != null && st != ps) {
StatementUtil.close(st);
} else {
ResultSetUtil.close(resultSet);
}
}
}
にすればcloseできるのでResultSetFactoryでやるままに
しておくのもありかと。
--
せとあずさ
[E-MAIL ADDRESS DELETED]
http://www.fieldnotes.jp/d/
seasar-s2dao-dev メーリングリストの案内