2013-05-03 23 views
1

的名单上有这样的查询:Ebean表达icontains元素

find.where() 
      .or(Expr.or(Expr.like("isbn", query), 
        Expr.icontains("book.tags", query)), 
        Expr.or(Expr.icontains("book.authors", query), 
          Expr.icontains("book.title", query))) 
      .findList(); 

Find对象只是一个regulular搜索器play2 Java的,没有什么神奇。

现在,您可以看到此版本对象拥有对具有标签列表的书籍的引用。

这不会编译,因为它混淆了标签,因为它无法查询列表,如何查询ebean表达式中的东西列表?

在此先感谢

回答

1

所以对他们的试验和错误的网站,并使用ALOT文档ebeans终于钉这个兽:

return find.where() 
      .or(Expr.or(Expr.like("isbn", query), 
      Expr.icontains("book.tags.name", query)), 
       Expr.or(Expr.icontains("book.authors.name", query), 
         Expr.icontains("book.title", query))).findList(); 

的关键是达到在icontains一路。