Skip to content
阅读进度

Room 中 @Entity、@Dao、@Database 注解的作用分别是什么? ​

返回 数据与搜索 目录

标准回答 ​

Room 用三个角色连接 Java 对象和数据库:Entity 定义表,Dao 定义操作,Database 组织数据库。

通俗例子 ​

笔记对象是 Entity;按 ID 查笔记、插入笔记的方法放 Dao;Database 声明包含哪些表以及数据库版本。

深入解释 ​

**三个注解对应哪一层:**Entity 描述数据表中的记录结构;Dao 声明查询和修改操作;Database 汇总表、版本和 DAO 入口,供 Room 生成数据库访问实现。

**Room 替你做了什么:**它在编译期检查一部分 SQL 与类型映射,并减少样板代码;但索引设计、线程选择、迁移和事务边界仍需要开发者决定。

内容来源 ​

用完整回答理解机制,用真实证据解释项目。