2016-04-28 18 views
0

如何將空值或未知值映射到java中的enum。我正在使用Ormlite。使用ORMlite映射到Java枚舉的空列值

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

這裏是我的枚舉

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(); 
    } 
} 

我總是收到以下異常:

造成的:值java.sql.SQLException:無法獲取的 '枚舉值' 現場FieldType:name = deviceType,class = MyEntity

回答

0

查看數據庫中的數據。我猜這行有空字符串'',沒有枚舉存在。