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