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