3

使用 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

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

4

1 回答 1

2

确保您要转换的类只包含 slick 的 PositionedResult 可以使用它的 << 方法处理的类型。有关所有类型的列表,请参阅 PositionedResult 的其他方法。

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

于 2014-07-10T07:33:01.653 回答