2013年9月4日水曜日

Java Play framework 2.0のebeanで、Expr.containsを使ってのOR検索

一言多いプログラマーの独り言: Java Play framework 2.0のebeanで、OR検索


に触発されたので、書いてみる

public static Page page(int page, int rows, String sortBy, String order, String filter) {
    return 
        find.where("name like :keyword OR detail like :keyword")
            .setParameter("keyword", "%" + filter.trim() + "%")
            .orderBy(sortBy + " " + order)
            .findPagingList(rows)
            .getPage(page);
}

のように記載されていますが、Expr.containsを使ってこういう方法も使えるかと思います。

public static Page page(int page, int rows, String sortBy, String order, String filter) {
    return
        find.where().or(Expr.contains("name", filter.trim()), Expr.contains("detail",filter.trim()))
            .orderBy(sortBy + " " + order)
            .findPagingList(rows)
            .getPage(page);
}
http://www.avaje.org/static/javadoc/pub/com/avaje/ebean/Expr.html#contains(java.lang.String, java.lang.String)

0 件のコメント:

コメントを投稿