我正在尝试在Lift/Record/Squeryl中创建一个类似于LiftMapper
中的MappedEnumList
的EnumListField
。存储类型应该是Long/BIGINT。我理解如果定义如下:
def classOfPersistentField = classOf[Long]
那么Squeryl将知道它应该创建一个BIGINT列。我知道它使用setFromAny()
设置值,传入Long类型。唯一不清楚的是:
它将如何读取字段的值?如果使用valueBox
,它将得到一个Seq[Enum#Value]
,并且不知道如何将其转换为Long。
我该如何告诉Squeryl将我的Seq[Enum#Value]
转换为Long,或者定义一个返回Long的“getter”,并且不与“正常”getter(们)冲突?