HowTo: настраиваемое поле в Lift-Record-Squeryl

Я пытаюсь создать EnumListField в Lift / Record / Squeryl, аналогично MappedEnumList в LiftMapper . Тип хранилища должен быть Long / BIGINT. Я понимаю, что если я определю:

def classOfPersistentField = classOf[Long]

Тогда Squeryl будет знать, что он должен создать столбец BIGINT. И я знаю, что он использует setFromAny () для установки значения, передаваемого в Long. Единственное, что я не понимаю:

Как он прочитает значение поля? Если он использует valueBox , он получит Seq [Enum # Value] , и он выиграет ' не знаю, как превратить это в длинную позицию.

Как мне сказать Squeryl преобразовать мой Seq [Enum # Value] в Long или определить «геттер», который возвращает Long и не конфликтует с «обычным» геттером (s)?

92
задан The Archetypal Paul 11 January 2018 в 22:18
поделиться