2016-04-28 5 views
0

Wie ordne ich leere oder unbekannte Werte auf die enum in Java. Ich benutze Ormlite.Leere Spalte Werte Zuordnung zu Java-Enum mit ORMlite

@DatabaseField(canBeNull=false, columnName=COLUMN_NAME_DEVICE_TYPE, 
    dataType=DataType.ENUM_STRING) 
private DeviceType deviceType; 

Und hier ist meine Enum

public enum DeviceType { 

    iPhone, iPad, Android, 
    OSX, Windows, Windows8, 
    WP7, WP8, Blackberry, 
    Browser, Facebook, Unknown; 

    @JsonCreator 
    public static DeviceType parse(String s) { 
     for (DeviceType t : values()) { 
      if (t.name().toLowerCase().equals(s)) { 
       return t; 
      } 
     } 
     return Unknown; 
    } 

    @JsonValue 
    @Override 
    public String toString() { 
     return name().toLowerCase(); 
    } 
} 

Am immer die folgende Ausnahme erhalten:

Verursacht durch: java.sql.SQLException: Kann nicht Enum-Wert von '' für das Feld bekommen FieldType: name = deviceType, class = MyEntity

Antwort

0

Werfen Sie einen Blick auf Daten in der Datenbank. Ich nehme an, dass diese Zeile eine leere Zeichenfolge hat, für die keine Aufzählung existiert.