title: Room ORM enum type converter error
body: <p>I keep getting the following error:</p>
  
  <blockquote>
    <p>Cannot figure out how to save this field into database. You can
    consider adding a type converter for it.</p>
  </blockquote>
  
  <p>I have added the @TypeConverter to the pair of converter methods and @TypeConverters annotation on my database class.</p>
  
  <p><strong>DownloadItem.java</strong></p>
  
  <pre><code>  @Entity(tableName = "downloads")
      public class DownloadItem implements Serializable {
  
          public enum DownloadStatus {
              None(0),
              Downloading(1),
              Suspended(2),
              Completed(3),
              Deleted(4),
              Expired(5);
  
              private final int numeral;
  
              @TypeConverter
              public static DownloadStatus getDownloadStatus(int numeral){
                  for(DownloadStatus ds : values()){
                      if(ds.numeral == numeral){
                          return ds;
                      }
                  }
                  return null;
              }
  
              @TypeConverter
              public static Integer getDownloadStatusInt(DownloadStatus status){
                  return status.numeral;
              }
  
              DownloadStatus(int num){
                  this.numeral = num;
              }
          }
  
          @TypeConverters(DownloadStatus.class)
          @ColumnInfo(name = "download_status")
          public DownloadStatus downloadStatus;
  
          @PrimaryKey
          @NonNull
          private int contentId;
  
         @Ignore
          public DownloadItem() {
          }
  
       public DownloadItem(DownloadStatus downloadStatus, int contentId) {
              this.downloadStatus = downloadStatus;
              this.contentId = contentId;
          }
        }
  </code></pre>
  
  <p><strong>DownloadDatabase.java</strong></p>
  
  <pre><code>    @Database(entities = {DownloadItem.class}, version = 1)
  @TypeConverters({DownloadItem.DownloadStatus.class, PlayerType.class})
  public abstract class DownloadDatabase extends RoomDatabase {
  
      public abstract DownloadItemStore downloadItemStore();
  
      private static final String DB_NAME = "download.db";
  .......
  }
  </code></pre>