1

我有一个这样的查询:

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 对象包含对具有标签列表的 book 的引用。

这不会编译,因为它对标签感到困惑,因为它无法查询列表,如何查询 ebean 表达式中的内容列表?

提前致谢

4

1 回答 1

1

所以最终使用他们网站上的 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();

关键是一直深入到图标上。

于 2013-05-04T09:49:26.313 回答