具有Slick 3.1.0的默认日期的列

时间:2015-10-20 10:45:09

标签: scala slick-3.0

我有一个包含这些列的events

 _________________________
|___name_____|___time_____|
|            |            |
|____________|____________|

时间列的值是在创建时使用当前日期自动生成的。

同样,我有这个案例类来表示表中的一行。

case class Event(name: String, time: Option[java.sql.Date] = None)

现在,问题在于当我尝试使用

插入事件时
val event = Event("blah blah blah")
events += event

Slick实际上插入的是('blah blah blah', null),而不仅仅是('blah blah blah'),这使得时间字段为null

如果我将时间列的约束设置为NOT NULL,那么尝试插入null时会出错。

当然我可以分解我的event对象并执行插入,但我想知道是否有一种映射告诉Slick这个列是自动生成的,就像自动增量一样id列:

def id = column[Long]("id", O.AutoInc)

更新

所以我尝试设置时间列如下

def time = column[java.sql.Date]("time", O.AutoInc)

它似乎有效。

AutoInc的文档指出它用于auto incrementauto generated列。

虽然我不确定这是否是正确的方法。

0 个答案:

没有答案