Androidroom-3one-to-manyrelationship
创始人
2024-10-09 19:31:16
0

在Android Room中处理one-to-many的关系需要应用到Entity和DAO之间的关系。当存在三个表之间的one-to-many关系时,需要进行如下操作:

  1. 创建Room实体类:

// 第一个实体类 @Entity(tableName = "table1") public class Entity1 { @PrimaryKey(autoGenerate = true) public int id; public String name; public int age; }

// 第二个实体类 @Entity(tableName = "table2", foreignKeys = @ForeignKey(entity = Entity1.class, parentColumns = "id", childColumns = "entity1_id", onDelete = CASCADE)) public class Entity2 { @PrimaryKey(autoGenerate = true) public int id; public String name; public String phone; public int entity1_id; }

// 第三个实体类 @Entity(tableName = "table3", foreignKeys = @ForeignKey(entity = Entity2.class, parentColumns = "id", childColumns = "entity2_id", onDelete = CASCADE)) public class Entity3 { @PrimaryKey(autoGenerate = true) public int id; public String address; public int entity2_id; }

  1. 创建DAO

// 第一个DAO @Dao public interface Dao1 { @Insert long insert(Entity1 entity1);

@Query("SELECT * FROM table1")
List getAllEntity1();

@Query("SELECT * FROM table1 WHERE id = :id")
Entity1 getEntity1ById(int id);

}

// 第二个DAO @Dao public interface Dao2 { @Insert long insert(Entity2 entity2);

@Query("SELECT * FROM table2 WHERE entity1_id = :entity1_id")
List getAllEntity2ByEntity1Id(int entity1_id);

}

// 第三个DAO @Dao public interface Dao3 { @Insert long insert(Entity3 entity3);

@Query("SELECT * FROM table3 WHERE entity2_id = :entity2_id")
List getAllEntity3ByEntity2Id(int entity2_id);

}

  1. 创建数据库

// 数据库类 @Database(entities = {Entity

相关内容

热门资讯

智星德州菠萝外挂!aa扑克发牌... 智星德州菠萝外挂!aa扑克发牌机制,(wepoker)真是存在有挂(详细辅助扑克教程);致您一封信;...
透视辅助(WePoKe透视挂)... 您好,这款游戏可以开挂的,确实是有挂的,需要了解加Q群【1067239143】很多玩家在这款游戏中打...
德州ai辅助!wpk俱乐部外挂... 1、德州ai辅助!wpk俱乐部外挂,(wepower德州)其实真的是有挂(详细透视安装教程);详细教...
透视辅助(wepokeai机器... 1、透视辅助(wepokeai机器人)德州软件后台控制(详细辅助介绍教程)一直存在有挂;详细教程。2...
wepoke黑科技!wpk发牌... wepoke黑科技!wpk发牌算法,(wEpoKe)从前是真的有挂(详细辅助可靠教程);亲,其实确实...
透视免费(wpk德州透视辅助)... 自定义系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅助器,不管你是想分享给你好...
wepoke计算辅助!EV扑克... 1、wepoke计算辅助!EV扑克辅助软件,(德州机器人)一向有挂(详细辅助攻略方法)2、进入游戏-...
透视安卓版(wepokeai代... 透视安卓版(wepokeai代打)wpk辅助软件查得出来吗(详细辅助wpk教程)素来真的是有挂,您好...
透视玄学(德扑数据软件)wpk... 透视玄学(德扑数据软件)wpk德州俱乐部机器人(详细辅助攻略方法)一贯存在有挂是一款可以让一直输的玩...
微扑克辅助挂!wepoke辅助... 自定义微扑克辅助挂系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅助器,不管你是...