我在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中使用时区映射日期时间的正确方法是什么?任何推荐?
答案 0 :(得分:1)
要使用带有scala类型的db类型,需要定义一个类型映射器,用于在db原始数据和scala对象之间进行转换。
您可以使用光滑的MappedColumnType
来定义自己的内容,因为时间戳已经由光滑支持内置。
这里是guide content for slick 2.0.3
但您也可以使用其他现有的库,例如:slick-pg,slick-joda-mapper。
答案 1 :(得分:0)
我使用以下方法成功检索Slick 2.x中的带时区列的时间戳:
def timestamp = column[Timestamp]("timestamp", O.Default(null))