2
私はPlayで作業中です! 2.5、Slick 3、およびPostgreSQL 9.6です。Slick:パラメータeの暗黙の値が見つかりませんでした:slick.jdbc.SetParameter [Option [java.util.UUID]]
私はオプションUUID
でシンプルな無地SQL
クエリを使用しようとしているが、私はこのエラーを取得:
Slick: could not find implicit value for parameter e: slick.jdbc.SetParameter[Option[java.util.UUID]]
は私のケースクラスは
final case class GaClientId(ip: String, userId: Option[UUID], clientId: String)
のように見え、このように私のクエリ:
db.run(
sql"""
INSERT INTO ga_client_id(ip, user_id, clientId) VALUES (
${gaClientId.ip}, ${gaClientId.userId}, $gaClientId.userId.orNull)
ON CONFLICT DO NOTHING;""")
私はこれを追加しようとしました:
implicit val getUUIDContent: GetResult[GaClientId] =
GetResult(r => GaClientId(r.<<, r.nextStringOption().map(UUID.fromString), r.<<))
しかし結果はありません。
どうすればいいですか?
それはコンパイルが、私は持っていないために、UUIDにVARCHARをキャストする必要がありPostgreSQLのエラー($ {gaClientId.userId} :: uuid)。私はvarchar tp uuidにuuidを使わないでそれを行う方法があると思うが、私はそれを見つけられなかった。 – Simon
DB内のフィールドの型としてUUIDがあると言っていますか? –
はい、まさに(申し訳ありませんが私の質問がそれについて明確でない場合) – Simon