Scala 使用google用户id选择Lift Squiryl记录

Scala 使用google用户id选择Lift Squiryl记录,scala,record,lift,squeryl,Scala,Record,Lift,Squeryl,我想识别一个使用GoogleOAuth服务的用户。这将返回一个googleId,它是2^67,因此它不适合我当前用作表中主键的长数据类型。正因为如此,我想将谷歌ID存储在StringField中 但是,这不起作用,因为我无法使Where子句起作用: 其中(u.googleId.is==id) 生成错误值===不是u.googleId.MyType的成员 我是这样定义的: val googleId = new StringField(this, "") 如何使用where子句中的StringFi

我想识别一个使用GoogleOAuth服务的用户。这将返回一个
googleId
,它是2^67,因此它不适合我当前用作表中主键的长数据类型。正因为如此,我想将谷歌ID存储在StringField中

但是,这不起作用,因为我无法使Where子句起作用:
其中(u.googleId.is==id)

生成错误
值===不是u.googleId.MyType的成员

我是这样定义的:

val googleId = new StringField(this, "")
如何使用where子句中的StringField选择数据

提前谢谢


Flo

大十进制难道不起作用吗

还有,我不确定语法,不是吗

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

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

我通过导入
org.squeryl.PrimitiveTypeMode解决了这个问题

然后我将googleId设置为
StringField

val googleId = new StringField(this,"")
现在,我必须向字段中添加一个
~
,否则它将被解释为
字符串
而不是
TypedExpressionNode[Int]

现在,以下语句起作用了:

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

谢谢你。我会在家里试一下,然后告诉你什么时候可以用。