[Seasar-user:22141] DBFlute 1.1.2 で 外出しSQLページング
竹内学
[E-MAIL ADDRESS DELETED]
2017年 3月 9日 (木) 10:15:10 JST
竹内です。お世話様です。
さて、現在 DBFlute 1.1.2 + Oracle Database 11g + Spring boot の環境でアプリケーションを作成しておりますが、
外出しSQLのページングで嵌まっております。
# 互換性パラメータは 1.1.2 のデフォルトのままです。
sqlは
/*
[df:title]
...
[df:description]
...
*/
-- #df:entity#
-- !df:pmb extends Paging!
-- !!AutoDetect!!
/*IF pmb.isPaging()*/
select ...
とコメントに宣言しています。生成された Pmb は
public class SimpleXxxxPmb extends SimplePagingBean implements
ParameterBean, FetchBean { ... }
となっています。
しかし、xxxxBhv.outsideSql().traditionalStyle().selectPage(XxxxBhv.PATH_selectSimpleXxxx,
pmb, SimpleXxxx.class);
と呼ぶと
java.lang.IllegalStateException: Unknown paging handling
parameter-bean: SimpleXxxxPmb:{...}
と怒られてしまいました。
ソースを見ますと、pmb はインタフェース ManualPagingHandlingPmb か AutoPagingHandlingPmb
の実装で無いといけないようですが、
その様なクラスは自動生成されず、自前で作成しなくてはならいのでしょうか?
それとも何か設定が抜けているのでしょうか?
因みに、extends Paging では無く extends ManualPaging でも同じでした。
しようが無いので、手で自動生成された Pmb を
public class SimpleXxxxPmb extends SimplePagingBean implements
ParameterBean, FetchBean, ManualPagingHandlingPmb<XxxxBhv, SimpleXxxx>
{
....
@Override
public Class<SimpleXxxx> getEntityType() {
return SimpleXxxx.class;
}
@Override
public String getOutsideSqlPath() {
return XxxxBhv.PATH_selectSimpleXxxx;
}
}
と修正しましたら問題無く動作しました。
何卒よろしくお願いいたします。
--
竹内 学 <mailto:mtakeuchi @ ailesys.co.jp>
株式会社エールシステム
Seasar-user メーリングリストの案内