使用谷歌用户ID提升Squeryl-Record选择

时间:2013-07-03 17:51:28

标签: scala record lift squeryl

我想识别使用Google OAuth服务的用户。这将返回googleId,这是2 ^ 67,因此它不适合我当前用作表中主键的long数据类型。因此,我想将googleId存储在StringField中。

但是,这不起作用,因为我无法使Where子句工作:     where(u.googleId.is === id)
产生错误value === is not a member of u.googleId.MyType

我这样定义:

val googleId = new StringField(this, "")

如何使用where子句中的StringField选择数据?

提前致谢

弗洛

2 个答案:

答案 0 :(得分:0)

BigDecimal没有做到这一点? http://squeryl.org/schema-definition.html

另外,我不确定语法,不应该是吗?:

where(u.googleId == "hello there")

我使用纯粹的squeryl和pure liftweb,所以我不确定..

答案 1 :(得分:0)

我按照Squeryl Schema Definition

所述导入org.squeryl.PrimitiveTypeMode._解决了问题

然后我将googleId设置为StringField

类型
val googleId = new StringField(this,"")

现在我必须在字段中添加.~,否则它将被解释为String而不是TypedExpressionNode[Int]

现在以下声明有效:

where(u.googleId.is.~ === id) select (u))