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