I'm trying to make a EnumListField
in Lift/Record/Squeryl, similar to MappedEnumList
in LiftMapper
. The storage type should be Long/BIGINT. I understand that if I define:
def classOfPersistentField = classOf[Long]
Then Squeryl will know it should create a BIGINT column. And I know it uses setFromAny()
to set the value, passing in the Long. The one piece I don't get is:
How will it read the field's value? If it uses valueBox
, it will get a Seq[Enum#Value]
, and it won't know how to turn that into a Long.
How do I tell Squeryl to convert my Seq[Enum#Value]
to a Long, or define a "getter" that returns a Long, and that doesn't conflict with the "normal" getter(s)?