Slick、UUID和Postgres

7
我正在尝试将java.util.UUID映射到Slick列,根据此文档应该是可行的:https://github.com/slick/slick/issues/79 我定义列如下:
def id = column[UUID]("id", O.PrimaryKey, O.DBType("UUID"))

根据上述链接的Github问题,手动DBType覆盖似乎是不必要的,但我没有成功地实现它。
当我尝试向Postgres插入一行时,我遇到的错误是:
org.postgresql.util.PSQLException: 
ERROR: column "id" is of type uuid but expression is of type bytea 

看起来,将java.util.UUID映射到Postgres uuid类型似乎不起作用。

我正在使用以下构件版本:

"com.typesafe.slick" %% "slick" % "2.0.1",
"org.slf4j" % "slf4j-nop" % "1.6.4",
"org.postgresql" % "postgresql" % "9.3-1101-jdbc41"

我的Postgres版本是 $ psql --version psql (PostgreSQL) 9.3.3

我做错了什么?


1
你尝试过使用 def id = column[UUID]("id", O.PrimaryKey) 吗? - cvogt
是的,我做到了。如果我这样做,Slick 尝试将 Postgres 类型(在 DDL 生成期间)设置为“OTHER”。 - Leonard Ehrenfried
请注意,当您检查PostgreSQL服务器版本时,应使用SELECT version();查询数据库。 $ psql --version返回psql(客户端应用程序)版本。这两个版本可能不同。 - falconepl
1个回答

4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接