我需要在使用Room Persistence Library的查询中使用SQL VIEW.
在这里使用Commonsware的答案我已经能够运行原始SQL语句来在数据库创建期间创建视图.
Room.databaseBuilder(context, MyDatabase.class, DB_NAME)
.addCallback(new RoomDatabase.Callback() {
@Override
public void onCreate(@NonNull SupportSQLiteDatabase db) {
super.onCreate(db);
db.execSQL("CREATE VIEW view_name " +
"AS SELECT [...] "
);
}
})
.build();
Run Code Online (Sandbox Code Playgroud)
VIEW实际上是在SQLite数据库上创建的并且工作正常,但我不能在我的Dao的@Query中引用它,因为我得到一个编译时错误:
错误:(100,48)错误:查询有问题:[SQLITE_ERROR] SQL错误或缺少数据库(没有这样的表:view_name)
有关如何让Room了解我的观点或忽略错误的任何想法?
android-room ×1