Próbuję zrobić EnumListField
w Lift / Record / Squeryl, podobnie jak MappedEnumList
w LiftMapper
. Typ przechowywania powinien być Long / BIGINT. Rozumiem, że jeśli zdefiniuję:
def classOfPersistentField = classOf[Long]
Wtedy Squeryl będzie wiedział, że powinien utworzyć kolumnę BIGINT. I wiem, że używa setFromAny()
do ustawiania wartości, przekazując Long. Jedyny element, którego nie dostaję, to:
Jak odczyta wartość pola? Jeśli użyje valueBox
, otrzyma Seq[Enum#Value]
i nie będzie wiedział, jak zmienić to w Long.
Jak powiedzieć Squeryl, aby zamieniła mój Seq[Enum#Value]
na Long, lub zdefiniować „getter”, który zwraca Long i który nie powoduje konfliktu z „normalnymi” metodami pobierającymi?