2
我正在用Play進行工作! 2.5,Slick 3和PostgreSQL 9.6。Slick:無法找到參數e的隱式值:slick.jdbc.SetParameter [Option [java.util.UUID]]
我試圖用一個簡單的純SQL
查詢與可選UUID
,但我得到這個錯誤:
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.<<))
但沒有結果。
我該怎麼做?
它編譯,但我要的VARCHAR轉換爲UUID爲了不有PostgreSQL錯誤(帶有$ {gaClientId.userId} :: uuid)。我懷疑有沒有辦法做到這一點,但沒有找到varchar tp uuid。 – Simon
所以你說你有UUID作爲數據庫中的字段類型? –
是的,正好(抱歉,如果我的問題不明確) – Simon