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