我有一个字段,它包含一个日期时间和一个非规范化字段,用于存储与unix时间戳相同的日期时间值(出于我目前无法控制的原因)。
我希望timestamp字段始终与“main”datetime字段同步,并且最好甚至不能从该记录类的方法外部写入(但仍然可读和可查询)。
我查看了LifecycleCallbacks
(根据一些较旧的文档可以使用,但现在可以用于Field
类型而不是Record
类型)以及特殊用途Field
类型(例如AutoField
或ComputedField
)无济于事。
我应该考虑实施自定义Field
,还是我忽略了一些明显的东西?我正在使用版本Lift 2.6-M2。
class Job private() extends MongoRecord[Job] with ObjectIdKey[Job] {
...
object regDate extends JodaTimeField(this)
object regDateUnixtime extends LongField(this)
...
}
答案 0 :(得分:2)
你有没有试过像
这样的东西private object regDateUnixtime extends LongField(this)
object regDate extends JodaTimeField(this) {
override def setBox(in: Box[DateTime]) = {
super.setBox(in) map { v =>
regDateUnixtime(v.getMillis)
v
}
}
}