繁体   English   中英

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

[英]Empty column values mapping to java enum using 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的枚举值”

看一下数据库中的数据。 我猜这行有空字符串”,没有空值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM