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

How to add conditions in a ebean query?

我有一个关于我的模型的查询,我正在按模型的属性、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();

查看 google 组,我刚刚找到了解决方案:

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

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

析取返回一个连接列表,然后我检查值并在列表中添加一个 Expr。