如何使用 rawquery 在房间库中创建表?

我sqlite在以前的应用程序中使用过创建数据库。现在我想使用 Room library. 我有一个问题,我有超过 100 个表。我是否必须使用@Entity注释为所有表一一声明类中的所有表?我可以rawquery像我所做的那样使表格和插入使用,sqlite例如:


@Override

    public void onCreate(SQLiteDatabase db) {

        db.execSQL("CREATE TABLE IF NOT EXISTS APP_VERSION(

            ID INTEGER PRIMARY KEY,

            LAST_UPDATE TEXT");

        }


我可以rawquery像这样使用插入: INSERT INTO table_name

VALUES (value1, value2, value3, ...);


largeQ
浏览 158回答 1
1回答

呼啦一阵风

我是否必须使用@Entity 注释为我的所有表一一声明类中的所有表?是的。我可以像我在 sqlite 中所做的那样使用 rawquery 制作表和插入,例如:不会。或者,更重要的是,Room 只会妨碍您执行此操作。因为我得到了从 web 服务创建表的 rawquery房间是普通Android应用程序,让您在编译时知道你的表定义和可编写Java /科特林类为他们(实体的DAO, ,RoomDatabase,@ForeignKey等)。如果您在编译时不知道表定义,则需要直接使用 SQLite 或查找其他不需要数据库架构的编译时知识的库。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java