scala – [SlickException:读取列的NULL值(USERS /670412212).L
发布时间:2020-12-16 09:01:27 所属栏目:安全 来源:网络整理
导读:我正在使用Slick 1.0.0与play framework 2.1.0.当我查询我的Users表时,我收到以下错误. DB中的LOGIN_ID值为空. 我正在执行的查询是: val user = { for { u - Users if u.providerId === id.id } yield u}.first 这会导致以下错误: play.api.Application$$a
我正在使用Slick 1.0.0与play framework 2.1.0.当我查询我的Users表时,我收到以下错误. DB中的LOGIN_ID值为空.
我正在执行的查询是: val user = { for { u <- Users if u.providerId === id.id } yield u}.first 这会导致以下错误: play.api.Application$$anon$1: Execution exception[[SlickException: Read NULL value for column (USERS /670412212).LOGIN_ID]] at play.api.Application$class.handleError(Application.scala:289) ~[play_2.10.jar:2.1.0] at play.api.DefaultApplication.handleError(Application.scala:383) [play_2.10.jar:2.1.0] at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$12$$anonfun$apply$24.apply(PlayDefaultUpstreamHandler.scala:314) [play_2.10.jar:2.1.0] at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$12$$anonfun$apply$24.apply(PlayDefaultUpstreamHandler.scala:312) [play_2.10.jar:2.1.0] at play.api.libs.concurrent.PlayPromise$$anonfun$extend1$1.apply(Promise.scala:113) [play_2.10.jar:2.1.0] at play.api.libs.concurrent.PlayPromise$$anonfun$extend1$1.apply(Promise.scala:113) [play_2.10.jar:2.1.0] scala.slick.SlickException: Read NULL value for column (USERS /670412212).LOGIN_ID at scala.slick.lifted.Column$$anonfun$getResult$1.apply(ColumnBase.scala:29) ~[slick_2.10-1.0.0.jar:1.0.0] at scala.slick.lifted.TypeMapperDelegate$class.nextValueOrElse(TypeMapper.scala:158) ~[slick_2.10-1.0.0.jar:1.0.0] at scala.slick.driver.BasicTypeMapperDelegatesComponent$TypeMapperDelegates$StringTypeMapperDelegate.nextValueOrElse(BasicTypeMapperDelegatesComponent.scala:146) ~[slick_2.10-1.0.0.jar:1.0.0] at scala.slick.lifted.Column.getResult(ColumnBase.scala:28) ~[slick_2.10-1.0.0.jar:1.0.0] at scala.slick.lifted.Projection15.getResult(Projection.scala:627) ~[slick_2.10-1.0.0.jar:1.0.0] at scala.slick.lifted.Projection15.getResult(Projection.scala:604) ~[slick_2.10-1.0.0.jar:1.0.0] 我的用户表定义为: package models import scala.slick.driver.MySQLDriver.simple._ case class User(userId:String,email:String,loginId:String,fullName:String,firstName:String,lastName:String,location:String,homeTown:String,providerId:String,provider:String,state:String,zip:String,accessKey:String,refreshKey:String,avatarUrl:String) object Users extends Table[User]("USERS") { def userId = column[String]("USER_ID",O.PrimaryKey) // This is the primary key column def email = column[String]("EMAIL",O.NotNull) def loginId = column[String]("LOGIN_ID",O.Nullable) def fullName = column[String]("FULL_NAME",O.NotNull) def firstName = column[String]("FIRST_NAME",O.Nullable) def lastName = column[String]("LAST_NAME",O.Nullable) def location = column[String]("LOCATION",O.Nullable) def homeTown = column[String]("HOME_TOWN",O.Nullable) def providerId = column[String]("PROVIDER_ID",O.Nullable) def provider = column[String]("PROVIDER",O.Nullable) def state = column[String]("STATE",O.Nullable) def zip = column[String]("ZIP",O.Nullable) def accessKey = column[String]("ACCESS_KEY",O.Nullable) def refreshKey = column[String]("REFRESH_KEY",O.Nullable) def avatarUrl = column[String]("AVATAR_URL",O.Nullable) // Every table needs a * projection with the same type as the table's type parameter def * = userId ~ email ~ loginId ~ fullName ~ firstName ~ lastName ~ location ~ homeTown ~ providerId ~ provider ~ state ~ zip ~ accessKey ~ refreshKey ~ avatarUrl <> (User,User.unapply _) } 请帮忙.看起来Slick无法处理DB中的Null值? 解决方法
你的案例类不行如果使用O.Nullable,则所有属性必须为Option [String].
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |