我想识别使用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选择数据?
提前致谢
弗洛
答案 0 :(得分:0)
BigDecimal
没有做到这一点? http://squeryl.org/schema-definition.html
另外,我不确定语法,不应该是吗?:
where(u.googleId == "hello there")
我使用纯粹的squeryl和pure liftweb,所以我不确定..
答案 1 :(得分:0)
org.squeryl.PrimitiveTypeMode._
解决了问题
然后我将googleId设置为StringField
val googleId = new StringField(this,"")
现在我必须在字段中添加.~
,否则它将被解释为String
而不是TypedExpressionNode[Int]
。
现在以下声明有效:
where(u.googleId.is.~ === id) select (u))