[Seasar-user:20361] Re: [Kuina-Dao]Criteriaの例

Inamine Morihiko [E-MAIL ADDRESS DELETED]
2010年 11月 24日 (水) 16:55:13 JST


こんにちは稲嶺です

ご教授いただいた情報を元にし、
無事、動作させることが出来ました^^
どうもありがとうございました

以下に実行した確認用ソースを記載します
-------------------------------------------------------
        String[] searchWords ="可能性 更新".replace(" "," ").split(" ")
;
        
        SelectStatement selectStatement = select().from(ReceiptInfo.
class, "r");
        ConditionalExpression[] whereArray = new 
ConditionalExpression[searchWords.length * 3];
        int j=0;
        for(int i=0;i<searchWords.length;i++){
            whereArray[j++] = CriteriaOperations.contains("r.
contactDetails",searchWords[i]);
            whereArray[j++] = CriteriaOperations.contains("r.
disposeDetails",searchWords[i]);
            whereArray[j++] = CriteriaOperations.contains("r.memo",
searchWords[i]);
        }
        selectStatement.where(CriteriaOperations.or(whereArray));
        selectStatement.orderby(CriteriaOperations.desc("r.receiptSeq"))
;
        
        List<ReceiptInfo> receL =selectStatement.getResultList(em);
        for (ReceiptInfo receN : receL) {
            System.out.println("ReceiptSeq=[" +receN.getReceiptSeq() +"]
");
        }
-------------------------------------------------------


Koichi Kobayashi <[E-MAIL ADDRESS DELETED]>さん:
> 小林 (koichik) です.
> 
> Criteria については Javadoc を参照してください.
> 
> http://kuina.seasar.org/apidocs/org/seasar/kuina/dao/criteria/CriteriaOperations.html
> import static org.seasar.kuina.dao.criteria.CriteriaOperations.*;
> 
>  List<Employee> list = 
>      select().from(Hogo.class, "h")
>          .where(or(contains("h.a", inpword1),
>                    contains("h.a", inpword2),
>                    contains("h.b", inpword1),
>                    contains("h.b", inpword2)))
>          .getResultList(em);
> 
> のようになります.
> # メーラで書いただけで動かしてませんがたぶん.


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