Ich versuche ein EnumListFieldin Lift / Record / Squeryl zu machen, ähnlich wie MappedEnumListin 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?