【问题标题】:diverging implicit expansion in implicit val GetResult隐式 val GetResult 中的发散隐式扩展
【发布时间】:2013-11-12 20:34:43
【问题描述】:

使用 slick 并遵循示例,我创建了一个隐式 val 来转换我的结果,如下所示:

implicit val getLocationResult = GetResult(r => LkpLocation(r.<<, r.<<, r.<<, r.<<))
val marketsQuery1 = sql"exec get_locations @ProjectId = ${projectID.get}, @ObjectId = $objectID, @ComponentTypeID = 1".as[LkpLocation]

但是我收到一条奇怪的错误消息:

diverging implicit expansion for type scala.slick.jdbc.GetResult[T] starting with method createGetTuple22 in object GetResult

这个错误的原因是什么? 是否有另一种方法可以声明更稳定的隐式转换?

【问题讨论】:

  • 尝试添加类型注释或类型参数,例如将GetResult 更改为GetResult[LkpLocation]
  • LkpLocation的定义是什么?

标签: scala slick typesafe


【解决方案1】:

确保你要转换的类只包含 slick 的 PositionedResult 可以使用它的

在我的目标类上使用 java.util.Date 时出现此错误,而 PositionedResult 的方法 nextDate 返回 java.sql.Date。将目标类的日期字段声明为 java.sql.Date 然后解决了这个问题。

【讨论】:

    猜你喜欢
    • 2017-12-30
    • 1970-01-01
    • 1970-01-01
    • 2014-01-01
    • 2011-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多