如何在ebean查询中添加条件?

时间:2017-03-06 15:23:44

标签: java orm ebean

我对我的模型有一个查询,我正在根据我的模型,Id,标题等属性进行过滤。但是,如何将所有条件包装到or我查看disjunction但我没有找到方法只在有值时才添加条件。

  Query<Ticket> query = Ebean.find(Ticket.class);

            if(filter.getId() != null){
                 query.where().eq("id", filter.getId());
            }

            if(StringUtils.isNotBlank(filter.getTitle())){
                query.where().icontains("title",filter.getTitle());
            }

            return query.findList();

1 个答案:

答案 0 :(得分:0)

纵观谷歌群组,我刚刚找到了解决方案:

   Junction<Ticket> filters = Ebean.find(Ticket.class).where().disjunction();

    if(filter.getId() != null){
      filters.add(Expr.eq("id", filter.getId()));
    }
    return filters.endJunction().findList();

disjunction返回一个Juntions列表,然后检查该值并在列表中添加一个Expr。