Ich versuche ein EnumListField
in Lift / Record / Squeryl zu machen, ähnlich wie MappedEnumList
in LiftMapper
. Der Speichertyp sollte Long / BIGINT sein. Ich verstehe das, wenn ich definiere:
def classOfPersistentField = classOf[Long]
Dann weiß Squeryl, dass eine BIGINT-Spalte erstellt werden soll. Und ich weiß, dass es verwendet wird setFromAny()
, um den Wert festzulegen, der im Long übergeben wird. Das einzige Stück, das ich nicht bekomme, ist:
Wie wird der Wert des Feldes gelesen? Wenn es verwendet wird valueBox
, wird es ein bekommen Seq[Enum#Value]
, und es wird nicht wissen, wie man daraus ein Long macht.
Wie kann ich Squeryl anweisen, mein Seq[Enum#Value]
in ein Long umzuwandeln oder einen "Getter" zu definieren, der ein Long zurückgibt und nicht mit den "normalen" Getter (n) in Konflikt steht?