我有一个这样的查询:
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 Object 只是 play2 Java 中的常规 Finder,没什么神奇的。
现在,正如您所看到的,此 Edition 对象包含对具有标签列表的书籍的引用。
这不会编译,因为它混淆了标签,因为它无法查询列表,如何查询 ebean 表达式中的内容列表?
提前致谢
最佳答案
所以最终使用他们网站上的 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。
关于java - Ebean Expression icontains 元素列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16368318/