[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 メーリングリストの案内