Playframework 2 - 创建一个SQL查询

时间:2013-12-25 19:52:26

标签: playframework-2.0

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

  

play - 无法调用该操作,最终出现错误:java.lang.RuntimeException:获取[models.User]类型[java.lang.String]上的uid引发错误。

我有用户模型和项目模型。 我想要一个查询来搜索属于用户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个参数来搜索。

1 个答案:

答案 0 :(得分:1)

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

在我的情况下

.eq("owner", curUser.email)

应该是:

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