【发布时间】:2015-06-19 04:25:02
【问题描述】:
我就是想不通。我现在使用的是:
abstract class DBEnumString extends Enumeration {
implicit val enumMapper = MappedJdbcType.base[Value, String](
_.toString(),
s => this.withName(s)
)
}
然后:
object SomeEnum extends DBEnumString {
type T = Value
val A1 = Value("A1")
val A2 = Value("A2")
}
问题是,在插入/更新 PostgreSQL 的 JDBC 驱动程序期间,当列类型为“some_enum”时,参数类型为“字符变化”,这是合理的,因为我将 SomeEnum 转换为 String。
如何告诉 Slick 将 String 视为 DB 定义的“enum_type”?或者如何定义映射到“enum_type”的其他 Scala 类型?
【问题讨论】:
-
我不知道这是否能解决你的问题,但你见过slick-pg吗?
-
不幸的是,它没有提到枚举。总之感谢。我会联系这个图书馆的作者。
-
旁注:在 Scala 中使用
trait SomeEnum和case object A1等子代而不是枚举更为惯用。 -
另外,请提供您收到的确切错误消息以及产生它的确切代码行。
标签: scala enums postgresql-9.2 slick-2.0