[Seasar-user:16233] Re: dbflute の SQL コメントについて

kubo [E-MAIL ADDRESS DELETED]
2008年 11月 5日 (水) 21:24:03 JST


久保(jflute)です。

金さん、こんにちは

正しくSQLが発行されないとありますが、
具体的にどのようなSQLが発行されてしまうのでしょうか?

> //ここが、認識されていない。
> /*BEGIN*/
> where tfilehistory.nsccode =/*pmb.nsccode*/'CHLA'/*END*/

こちらパラメータコメントの使い方になりますが、
/*BEGIN*/の中にIFコメントが無いので、
/*BEGIN*/を利用する必要がないかと思います。

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
/*BEGIN*/
where tfilehistory.nsccode =/*pmb.nsccode*/'CHLA'/*END*/

 ↓

where tfilehistory.nsccode =/*pmb.nsccode*/'CHLA'
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

BEGINコメントは、Where句でIFコメントを使って
動的に条件を増減させる場合で、全てのIFがfalseになって
「where」だけが取り残されないようにするためのコメントです。


2008/11/5  <[E-MAIL ADDRESS DELETED]>:
> お世話になります。金と申します。
>
> Teeda + S2Dao + dbfluteでシステムを開発しております。
>
> SQL ファイルを利用したSQL発行で悩んでいます。
> SQLコメントについて、うまく設定できていないのか正しくSQLが発行
> されません。
>
> 以下にSQLファイルを記載いたします。
>
> -----------------------------------------------------------
> SQL文:
> -----------------------------------------------------------
> -- #Filehistory#
> -- !FilehistoryinfoPmb extends SPB!
> -- !!String nsccode!!
> -- !!String usercode!!
> -- !!int dealercount!!
> -- !!Date createddate!!
>
> /*IF pmb.isPaging()*/
> select DISTINCT count(*) as "dealercount"
> ,tfilehistory.nsccode
> ,tfilehistory.filename
> ,tfilehistory.usercode
> ,tfilehistory.createddate
>
> -- ELSE select count(*)
> /*END*/
>
> from tfilehistory
>
> /*IF pmb.isPaging()*/
>
> left outer
> join tdealer
> on tfilehistory.nsccode = tdealer.nsccode
> /*END*/
>
> //ここが、認識されていない。
> /*BEGIN*/
> where tfilehistory.nsccode =/*pmb.nsccode*/'CHLA'/*END*/
>
> /*IF pmb.isPaging()*/
> group by
> tfilehistory.nsccode,tfilehistory.filename,tfilehistory.usercode,tfilehistory.createddate
> /*END*/
>
> ----------------------------------------------------------------
> Source:
> ----------------------------------------------------------------
> public PagingResultBean<Filehistory> selectPage() {
>
>    Class<Filehistory> FilehistoryEntity = Filehistory.class;
>    tfilehistoryBhv = behaviorSelector.select(TfilehistoryBhv.class);
>    FilehistoryinfoPmb pmb = new FilehistoryinfoPmb();
>    int pageSize = 5;
>
>   // nscnameをキーとして指定している
> pmb.setNsccode(nscname);
>
>    pmb.fetchFirst(pageSize);
>    pmb.fetchPage(targetPage);
>    //pmb.paging(pageSize, targetPage);
>    return
> tfilehistoryBhv.outsideSql().autoPaging().selectPage(filehistoryPath, pmb,
> FilehistoryEntity);
>
>  }
>
> すみません。何卒ご教授ください。
>
>
>
> ________________________________
> Power up the Internet with Yahoo! Toolbar.
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
>


Seasar-user メーリングリストの案内