0

我有一个包含日期时间的字段和一个非规范化字段,用于将相同的日期时间值存储为 unix 时间戳(出于目前我无法控制的原因)。

我希望时间戳字段始终与“主要”日期时间字段同步,并且最好甚至不能从该记录类的方法之外写入(但仍然是可读和可查询的)。

我已经查看了LifecycleCallbacks(根据一些较旧的文档应该可以工作,但现在应该与Field类型而不是Record类型一起使用)以及特殊Field类型(例如AutoFieldor ComputedField)都无济于事。

我应该考虑实现一个 custom Field,还是我忽略了一些明显的东西?我使用的是Lift 2.6-M2版本。

class Job private() extends MongoRecord[Job] with ObjectIdKey[Job] {
  ...
  object regDate extends JodaTimeField(this)
  object regDateUnixtime extends LongField(this)
  ...
}
4

1 回答 1

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
    }
  }

}
于 2014-02-05T23:17:59.810 回答