[seasar-s2dao-dev:424] Re: [Seasar-user:9751] Re:[S2Pager]拡張PagerCondition使用時にSQLException

Toshihiro Nakamura [E-MAIL ADDRESS DELETED]
2007年 8月 14日 (火) 14:46:29 JST


中村(taedium)です。

> > 配布物の中に含まれるのは知っていたのですが
> > 一応今後は推奨しない方法なので、
> > なくてもいいのかなぁと思ったのです...だめ?
> > コメントアウトした設定がたくさんあるのも使いにくいと
> > 思うのです。
> 
> PagerResultSetFactoryLimitOffsetWrapperは非推奨になりますが、
> DB2やSQLServer等はPagerResultSetFactoryWrapperを使う方法しか
> ないので非推奨にはならないと思うのですが。
> # なにか勘違いしてます?

私が勘違いしていたようです。
すみませんm(_)m

整理すると、4パターン中、1パターンが非推奨ということですね。

■Oracleが対象
OracleRownumPagingSQLRewriter

■MySQLなどが対象
LimitOffsetPagingSQLRewriter

■MySQLなどが対象
PagerResultSetFactoryLimitOffsetWrapper
(非推奨:リソースが開放されないため、ログが正しくないため)

■すべてのDBが対象
PagerStatementFactoryとPagerResultSetWrapperの組み合わせ
(ただしRewriterが使えるならば使ったほうが効率的)

> > (1)PagerResultSetFactoryWrapperをそのまま使う→j2ee.dicon
> > (2)PagerResultSetFactoryLimitOffsetWrapperをそのまま使う→j2ee.dicon
> > までは従来通りとして、
> > (3)-a PagingSQLRewriterをdao.diconに定義する
> > (3)-b PagingSQLRewriterをj2ee.diconに定義して
> >        DaoMetaDataFactoryImplにバインディング
> >       (要はj2ee.diconに
> >        <component class="org.seasar.dao.pager.LimitOffsetPagingSQLRewriter"/>
> >       を定義する)
> > 
> > 今までの話だと(3)-aだと思いますが、(3)-bのほうがPagerの設定は
> > j2ee.diconに記述するという説明で統一できて、dao.diconも変更不
> > 要という利点があると思うのですが、どうでしょう?
> 
> (1)と(2)はなしで(3)-bだけがいいなぁ。
> ドキュメントにはもちろん従来の方法という位置づけで
> (1)と(2)も説明したほうがいいと思っています。

先ほどの意見を撤回しまして
(1)と(3)-bをj2ee.diconに記述して(1)を有効にしておくのがいいと思います。
(2)はj2ee.diconになくてもいいと思います。
-- 
Toshihiro Nakamura <[E-MAIL ADDRESS DELETED]>



seasar-s2dao-dev メーリングリストの案内