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 の他のメソッドを参照してください。

PositionedResult のメソッド nextDate が java.sql.Date を返すときに、ターゲット クラスで java.util.Date を使用すると、このエラーが発生しました。ターゲットクラスの日付フィールドを java.sql.Date として宣言すると、問題が解決しました。

于 2014-07-10T07:33:01.653 に答える