Ich habe eine Entität, die eine Enum-Eigenschaft enthält. Diese Eigenschaft kann eine meiner Enum-Typen in meinem Code sein:
public enum AutomobileType {
CAR, TRUCK, MOTORCYCLE
}
public enum BoatType {
ROW_BOAT, YACHT, SHIP
}
@Entity
public class FooBar {
@Enumerated(value=EnumType.ORDINAL)
private Enum enumValue;
public void setEnumValue(Enum value) { ... }
public Enum getEnumValue() { ... }
}
Dies schlägt mit einer Ausnahme fehl: "Falscher Datentyp: Für Eingabestring: "[B@f0569a"". Ich habe FooBar geändert, um die Eigenschaft als Integer zu speichern, was funktioniert, aber das ist nicht das, was ich brauche. Ich brauche das tatsächliche Enum. Irgendwelche Vorschläge, wie man das so machen kann, dass das Enum als int persistiert werden kann, aber später in den richtigen Enum-Typ umgewandelt wird?