Playframework 2.0 Playframework 2-创建sql查询

Playframework 2.0 Playframework 2-创建sql查询,playframework-2.0,Playframework 2.0,我试图创建一个简单的查询,由于某些原因,我尝试的所有组合都会抛出以下异常 播放-无法调用该操作,最终出现错误:java.lang.RuntimeException:get uid on[models.User]type[java.lang.String]抛出错误 我有一个用户模型和一个项目模型。 我想要一个搜索属于用户X且名称为Y的项目的查询 我尝试的引发上述异常的代码: Project uploadProject = Project.find.where().add(Expr.and(Expr

我试图创建一个简单的查询,由于某些原因,我尝试的所有组合都会抛出以下异常

播放-无法调用该操作,最终出现错误:java.lang.RuntimeException:get uid on[models.User]type[java.lang.String]抛出错误

我有一个用户模型和一个项目模型。 我想要一个搜索属于用户X且名称为Y的项目的查询

我尝试的引发上述异常的代码:

Project uploadProject = Project.find.where().add(Expr.and(Expr.eq("owner", curUser.email),Expr.eq("name", projectName))).findUnique();
也试过

Project uploadProject2 = Project.find.where().eq("owner", curUser.email).eq("name", projectName).findUnique();

正确的方法是什么?我已经在播放文档中搜索过了,但它只会指简单的搜索,不需要超过1个参数进行搜索。

异常是由于比较了错误的字段类型。 owner字段是用户类型,我将其与用户电子邮件字符串进行了比较

就我而言

.eq("owner", curUser.email)
应该是:

.eq("owner.email", curUser.email)

您的查询看起来很好,您是否可以通过一个查询请求对象?我的问题是,在查询中查找解决方案2小时后,发现问题在于“所有者”字段是用户对象。我把它和email
eq(“owner”,curUser.email)
应该是
eq(“owner.email”,curUser.email)
。。。我发帖10分钟后发现了它,我很生气。。很抱歉