Enums 在ORMLite中持久化自定义枚举值

Enums 在ORMLite中持久化自定义枚举值,enums,ormlite,Enums,Ormlite,我希望将枚举保留为构造函数中的给定数字,而不是字符串和序数: public enum EAdUnitType { NOTIFICATION(1), BANNER(2); private int mId; public int getId() { return mId; } } 我想保留getId()。用户可以从id添加到枚举中 public enum EAdUnitType { NOTIFICATION(1), BAN

我希望将枚举保留为构造函数中的给定数字,而不是字符串和序数:

public enum EAdUnitType {
    NOTIFICATION(1), 
    BANNER(2);

    private int mId;

    public int getId() {
        return mId;
    }
}

我想保留getId()。

用户可以从id添加到枚举中

public enum EAdUnitType {
   NOTIFICATION(1), 
   BANNER(2);

    private int mId;

    public int getId() {
       return mId;
    }

    public static EAdUnitType fromId(int id) {
      EAdUnitType [] types = EAdUnitType .values();
        for (EAdUnitType eType : types) {
            if (eType.mId == id) {
                return eType;
            }
        }
      return null;
    }
}
并将数字id保存到数据库中

public class DbEntity {
   private int mEAdUnitTypeId;

   .....

   public void setEAdUnitType(EAdUnitType type) {
      mEAdUnitTypeId = type.getId();
   }

   public EAdUnitType getEAdUnitType() {
      return EAdUnitTypeId.fromId(mEAdUnitTypeId);
   }

   .........
}