我正在Scala中试验Playframework v2的Anorm库。 我有一个类似下面的案例类
case class User (
id:Pk[Long] = NotAssigned, // auto increment value in mysql
name: String
updated_at: Date // assigned through a trigger by Database
)
val testUser = new User(NotAssigned:Pk[Long], "Ali", null)
是否发现将 null 用于updated_at等字段,这些字段的值是直接通过DB分配的?如何使用像Pk [Date]这样的东西?我想我不能正确理解Anorm中的Pk类型。
感谢您的评论,
答案 0 :(得分:2)
我认为分配null
值永远不是一个好主意。我正在使用默认日期。然后,在构造User
类型的新值时,应省略默认值(对于Scala的案例类,new
关键字是不必要的):
case class User (
id:Pk[Long] = NotAssigned,
name: String
updated_at: Date = new Date(0) //1970-01-01
)
val testUser = User("Ali")
答案 1 :(得分:1)
如果您的数据库自动设置此值,则无需自行设置。因此,它不应出现在 write 操作中。