【发布时间】:2018-12-17 19:12:16
【问题描述】:
我需要在使用 Room Persistence Library 的查询中使用 SQL VIEW。
使用 Commonsware 的回答 here 我已经能够在数据库创建期间运行原始 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();
VIEW 实际上是在 SQLite DB 上创建的,并且工作正常,但我无法在我的 Dao 的 @Query 中引用它,因为我收到编译时错误:
Error:(100, 48) 错误:查询有问题:[SQLITE_ERROR] SQL 错误或缺少数据库(没有这样的表:view_name)
知道如何让 Room 知道我的观点或忽略错误吗?
【问题讨论】:
标签: android-room