2

我在 PostgreSQL 中有一个包含这个特定日期列的表,我需要使用 Slick 2.0 基于一个特定 ID 检索所有记录,我正在使用 Joda 来管理日期

MyTable 
(
    IdTable Int NOT NULL,
    Name varchar(64),
    Created_Date timestamp with time zone DEFAULT now()
)

然后我尝试以这种方式在 Slick 中映射它:

val Created_Date: Column[Option[DateTime]] = columnOption[DateTime]

一旦我在表中添加 Created_Date 列,检索记录的方法就会失败。使用 Joda 在 Slick 中映射日期时间和时区的正确方法是什么?有什么推荐吗?

4

2 回答 2

1

要将 db 类型与 scala 类型一起使用,您需要定义一个类型映射器,用于在 db 原始数据和 scala 对象之间进行转换。

你可以使用 slick 定义你的MappedColumnType,因为时间戳已经被 slick 内置支持。这是slick 2.0.3的指南内容

但是您也可以使用其他现有的库,例如: slick- pgslick-joda-mapper

于 2015-04-15T23:22:59.047 回答
0

我已经成功使用 Slick 2.x 中的时区列检索时间戳:

def timestamp = column[Timestamp]("timestamp", O.Default(null))
于 2014-09-07T19:23:24.050 回答