查询包含相同文本的多个列,而不使用原始查询方法

时间:2016-10-04 17:47:17

标签: java ormlite query-builder

我需要在表中搜索多个列以获得相同的值;即。在公司名称,名称或电子邮件列中查找包含Acme的所有行。

1 个答案:

答案 0 :(得分:0)

  

我需要在表中搜索多个列以获得相同的值。 IE会在公司名称,姓名或电子邮件列中找到所有具有Acme的行。

不确定。您可以使用QueryBuilder使用相同的文本来查询多个字段。也许是这样的:

QueryBuilder<Foo, Long> qb = dao.queryBuilder();
Where<Foo, Long> where = qb.where();
String name = "acme";
where.like(Foo.FIELD_COMPANY, "%" + name + "%");
where.or();
where.like(Foo.FIELD_NAME, "%" + name + "%");
where.or();
where.like(Foo.FIELD_EMAIL, "%" + name + "%");
List<Foo> results = where.list();

这里有更多docs about the query-builder