java - Ebean Expression icontains 元素列表

标签 java playframework-2.0 ebean

我有一个这样的查询:

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/

相关文章:

java - 使用 memcached 获取 Java Play 框架以缓存 Ebean 实体

java - org.apache.jena.rdf.model 不存在

java - 返回并绑定(bind)到 ListView 的 double 被截断

java - 将 &lt;script&gt; 添加到 <head> from Play Framework 2 中的 scala 模板标签

scala - 在 Play Route 的文件中,如何指示使用来自模块的路由?

java.lang.NoSuchMethodError 在 Cloudbees 追我

java - PlayFramework 2.x Ebean 查询匹配集合中的 Manytomany 属性

java - 在 Linux 上安装 Java

java - 未从资源包中获取 Spring 验证消息

java - Play2 框架初学者。获取<select>中所有选中的元素