我正在使用 Lift Record 持久性,并且我想在设置或获取字段值时对字段应用一些转换。例如,对于 StringField,我想在 Record 对象中自动将其设置为小写。
object someField extends StringField(this, 64) {
...
// how do I apply transformations here?
...
}
在 Lift Mapper 中有一种方法setFilter
可以做到这一点,但我在 Record 中找不到它的等价物。在 Mapper 中,它看起来像这样:
object someField extends MappedString(this, 64) {
...
override def setFilter = trim _ :: toUpper _ :: super.setFilter
...
}
我正在考虑的几个选项是:
- override
set
方法,但其中有很多,我害怕不完全覆盖所需方法的子集,所以我无法想象后果。:) - 使用生命周期回调 - 似乎有点矫枉过正。
任何帮助表示赞赏。谢谢 ;)