[seasar-dotnet:543] Re: DBFlute:Oracle 用の生成されたクラスでエラー
kubo
[E-MAIL ADDRESS DELETED]
2007年 7月 23日 (月) 14:49:05 JST
久保です。
> で、肝心のallcommon\cbean\sqlclause\SqlClauseOracle.cs を見ると、
>
> /**
> * The implementation.
> *
> * @return Select-hint. (NotNull)
> */
> protected override String CreateSelectHint() {
> return _fetchFirstSelectHint;
> }
>
> の所で、_fetchFirstSelectHint が無いと言われます。
すいません、明らかなDBFluteのBUGです。(ごめんなさい)
いくつか他にも修正点がありましたので
修正したテンプレートファイルを添付致します。
お手数ですが、そのファイルをDBFlute本体の
templates/om/csharp/allcommon/cbean/sqlclause/SqlClause_oracle.vmnet
に配置(上書き)して、再度Generateしてもらってもよろしいでしょうか?
※Oracleの環境が無いため、今自PCにて検証ができないのでご了承下さい。
ちなみに
丁度ここは、Pagingの機能の部分でベンダー依存しています。
例えば、BOOK(本)というテーブルがあったとして
ex) 先頭の20件が取得したい場合:
- - - - - - - - - - - - - - - -
BookCB cb = new BookCB();
cb.FetchFirst(20); // 先頭の20件
... = bookBhv.SelectList(cb);
- - - - - - - - - - - - - - - -
ex) 1ページ20件における3ページ目(41-60件目)が取得したい場合:
- - - - - - - - - - - - - - - -
BookCB cb = new BookCB();
cb.FetchFirst(20); // 1ページ20件
cb.FetchPage(3); // 3ページ目(41-60件目)
... = bookBhv.SelectPage(cb); // 総件数も同時に取得
- - - - - - - - - - - - - - - -
というような使い方をします。
そのとき、ちょうどそのSqlClauseOracleが動き、
ROWNUMを使ったSQLが発行されます。
詳しくはこちら(Java用のDocumentで恐縮ですが...)
http://dbflute.sandbox.seasar.org/ja/tips-paging.html
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: SqlClause_oracle.vmnet
型: application/octet-stream
サイズ: 3584 バイト
説明: 無し
URL: http://ml.seasar.org/archives/seasar-dotnet/attachments/20070723/82405527/attachment-0001.obj
seasar-dotnet メーリングリストの案内