使用ORMlite将空列值映射到java枚举

时间:2016-04-28 08:36:53

标签: java ormlite

如何将空值或未知值映射到java中的enum。我正在使用Ormlite。

@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

1 个答案:

答案 0 :(得分:0)

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