Я пытаюсь сделать EnumListField
в Lift / Record / Squeryl, аналогично MappedEnumList
в LiftMapper
. Тип хранения должен быть Long / BIGINT. Я понимаю, что если я определю:
def classOfPersistentField = classOf[Long]
Тогда Скверил узнает, что он должен создать столбец BIGINT. И я знаю, что он использует setFromAny()
для установки значения, передавая Long. Один кусок, который я не получаю:
Как он будет читать значение поля? Если он использует valueBox
, он получит Seq[Enum#Value]
, и он не будет знать, как превратить это в Long.
Как мне сказать Squeryl преобразовать мой Seq[Enum#Value]
в Long или определить «getter», который возвращает Long, и который не конфликтует с «normal» get (s)?