[seasar-dev:1023] Re: リリース計画
Toshihiro Nakamura
[E-MAIL ADDRESS DELETED]
2009年 1月 26日 (月) 20:05:43 JST
中村(taedium)です。
DoltengのGenerate Master Detail Applicationですが、
Teeda + S2Daoの組み合わせで使ってみました。
いつくか気づいたことがあるのでお伝えします。
1)ページングが効いていない。
S2Daoでページングをする際はjdbc.diconに設定を記述する必要があります。
今はjdbc.diconに次のような設定がありますが、
<component class="org.seasar.extension.jdbc.impl.BasicResultSetFactory"/>
<component class="org.seasar.extension.jdbc.impl.ConfigurableStatementFactory">
<arg>
<component class="org.seasar.extension.jdbc.impl.BasicStatementFactory"/>
</arg>
<property name="fetchSize">100</property>
</component>
これを次のように変えると大丈夫になります。
<!-- LIMIT OFFSET句を使ったSQL書き換えによるページング処理用設定 -->
<component name="pagingSqlRewriter" class="org.seasar.dao.pager.LimitOffsetPagingSqlRewriter"/>
<component class="org.seasar.extension.jdbc.impl.BasicResultSetFactory"/>
<component class="org.seasar.extension.jdbc.impl.ConfigurableStatementFactory">
<arg>
<component class="org.seasar.extension.jdbc.impl.BasicStatementFactory"/>
</arg>
<property name="fetchSize">100</property>
</component>
2)ORDER BYが効いていない
今はDaoでORDER BYの記述がありますが、これは実際のSQLに
反映されていません。
ORDER BY句はSQLファイルに直接記述すればいいと思います。
3)検索条件のパラメータが重複している
DaoメソッドのパラメータとPagerConditionのプロパティの両方で
検索条件が指定できるようになっていますが、これはどちらか一方で
大丈夫です。
今は、Daoメソッドのパラメータが使われていますね。
それならば、PagerConditionに
検索条件のプロパティはないほうがいいと思います。
4)select count(*) from ...用のDaoメソッドが定義されている
S2Daoでは、ページング処理をするとPagerConditionのcountプロパティに
select count(*) from ...の件数が自動で設定されるようになっています。
これを使えばselect count(*) from...専用のメソッドが不要に
なってすっきりすると思います。
--
Nakamura Toshihiro <[E-MAIL ADDRESS DELETED]>
Seasar-dev メーリングリストの案内