房间 sqlite 安卓错误.ColumnInfo 不定义元素 collate()



我正在使用google ROOM lib在我的Android应用程序中使用sqlite数据库。

我已经在我的单个应用程序中创建了两个具有不同控制器(用户定义(的数据库。

这是我实现的代码

数据库 1 :

@Database(entities = {JobTable.class}, version = 1)
public abstract class JobRoomController extends RoomDatabase
{
public static JobRoomController controller;
public abstract JobTable jobTable();

    public static JobRoomController database(Context context)
    {
        if(controller == null)
        {
            controller =    Room.databaseBuilder(context.getApplicationContext(),
                    JobRoomController.class, "Job")
                    .allowMainThreadQueries()
                    .build();
        }
        return controller;
    }
    @Override
    protected SupportSQLiteOpenHelper createOpenHelper(DatabaseConfiguration config) {
        return null;
    }
    @Override
    protected InvalidationTracker createInvalidationTracker() {
        return null;
    }
}

数据库 2:

@Database(entities = {DbTrackServer.class,DbGpsStatus.class}, version = 1)
public abstract class RoomControl extends RoomDatabase {


   public abstract IGpsStatus gpsStatus();
   public abstract ITrack track();
   private static RoomControl roomControl;
   public static RoomControl database(Context context)
   {
     if(roomControl == null)
       {
        roomControl =    Room.databaseBuilder(context.getApplicationContext(),
                            RoomControl.class, "mobileTracker")
                           .allowMainThreadQueries()
                           .build();
       }
       return roomControl;
   }
  @Override
    protected SupportSQLiteOpenHelper createOpenHelper(DatabaseConfiguration config) {
        return null;
    }
    @Override
    protected InvalidationTracker createInvalidationTracker() {
        return null;
    }
}

但是当我构建我的项目时,它显示 gradle 错误。

**错误:任务":app:compileDebugJavaWithJavac"执行失败。

java.lang.IllegalArgumentException: @android.arch.persistence.room.ColumnInfo 不定义元素 collate((**

我已经通过从gradle文件更新Room Lib来解决这个问题。

最新更新