映射Joda Datetime

时间:2014-06-05 23:18:39

标签: postgresql jodatime slick slick-2.0

我在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中使用时区映射日期时间的正确方法是什么?任何推荐?

2 个答案:

答案 0 :(得分:1)

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

您可以使用光滑的MappedColumnType来定义自己的内容,因为时间戳已经由光滑支持内置。 这里是guide content for slick 2.0.3

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

答案 1 :(得分:0)

我使用以下方法成功检索Slick 2.x中的带时区列的时间戳:

def timestamp = column[Timestamp]("timestamp", O.Default(null))