2016-04-28 78 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

查看数据库中的数据。我猜这行有空字符串'',没有枚举存在。