我有一个events包含这些列的表
_________________________
|___name_____|___time_____|
| | |
|____________|____________|
Run Code Online (Sandbox Code Playgroud)
时间列的值是在创建时使用当前日期自动生成的.
同样,我有这个案例类来表示表中的一行.
case class Event(name: String, time: Option[java.sql.Date] = None)
Run Code Online (Sandbox Code Playgroud)
现在,问题是当我尝试插入事件时
val event = Event("blah blah blah")
events += event
Run Code Online (Sandbox Code Playgroud)
光滑实际插入('blah blah blah', null)而不仅仅是('blah blah blah'),这使得时间字段null.
如果我在时间列上设置了约束NOT NULL,那么我会因插入尝试而出错null.
当然,我可以分解我的event对象,并执行插入,但我不知道是否有一种映射,告诉油滑此列是自动生成的,就像在自动递增ID列的情况:
def id = column[Long]("id", O.AutoInc)
Run Code Online (Sandbox Code Playgroud)
所以我尝试设置时间列如下
def time = column[java.sql.Date]("time", O.AutoInc)
Run Code Online (Sandbox Code Playgroud)
它似乎工作.
AutoInc用于auto increment和auto generated列的状态的文档.
虽然我不确定这是否是正确的方法.