AndroidJetpackRoom一对多查询Where
创始人
2024-10-08 12:02:05
0
  1. 首先,在 Room 数据库中定义两个实体类 Parent 和 Child,它们之间是一对多关系,即一个 Parent 对象可以拥有多个 Child 对象。

@Entity class Parent { @PrimaryKey var id: Int = 0 var name: String = "" }

@Entity(foreignKeys = [ForeignKey(entity = Parent::class, parentColumns = ["id"], childColumns = ["parentId"])]) class Child { @PrimaryKey var id: Int = 0 var parentId: Int = 0 var name: String = "" }

  1. 创建一个 DAO 接口 ParentDao,用于查询 Parent 和对应的多个 Child。

@Dao interface ParentDao { // 查询一个 Parent 包含的所有 Child,并限制 Child 的 name 属性为指定值 @Transaction @Query("SELECT * FROM Parent WHERE id = :parentId") fun getParentWithChildren(parentId: Int): ParentWithChildren }

// 定义一个数据类 ParentWithChildren,用于存储查询结果 data class ParentWithChildren( @Embedded val parent: Parent, @Relation(parentColumn = "id", entityColumn = "parentId") val children: List )

  1. 在查询中使用 WHERE 语句限制 Child 的 name 属性。

val parentWithChildren = parentDao.getParentWithChildren(parentId) val matchedChildren = parentWithChildren.children.filter { it.name == "指定值" }

相关内容

热门资讯

据相关数据显示!四川游戏家园破... 据相关数据显示!四川游戏家园破解版,雀神山庄麻将辅助器,窍门教程(有挂详细)-哔哩哔哩1、四川游戏家...
事发当天!aa poker辅助... 事发当天!aa poker辅助包,we-poker正规吗(透视)解密教程(有挂规律)-哔哩哔哩1、每...
不少玩家反映!决战卡五星开挂方... 不少玩家反映!决战卡五星开挂方法,hhpoker一直输有挂吗,绝活教程(有挂方法)-哔哩哔哩1、许多...
推出新举措!pokemmo脚本... 推出新举措!pokemmo脚本辅助器下载,hhpoker是真的假的(透视)关于教程(有挂总结)-哔哩...
针对!新鸿狐辅助软件是真的吗,... 针对!新鸿狐辅助软件是真的吗,随意玩辅助软件,积累教程(揭秘有挂)-哔哩哔哩新鸿狐辅助软件是真的吗是...
透视最新!wepoker买脚本... 透视最新!wepoker买脚本靠谱吗,wepoker怎么买辅助(透视)普及教程(有挂头条)-哔哩哔哩...
于此同时!we-poker软件... 于此同时!we-poker软件,wpk俱乐部是真的吗(透视)总结教程(有挂分析)-哔哩哔哩wpk俱乐...
目前!越乡游义乌透视下载安卓,... 目前!越乡游义乌透视下载安卓,wepoker辅助分析器,经验教程(有挂神器)-哔哩哔哩1、超多福利:...
网友热议!德州局HHpoker... 网友热议!德州局HHpoker透视脚本,epoker透视(透视)专业教程(有挂总结)-哔哩哔哩德州局...
目前!小闲辅助软件,火神大厅科... 目前!小闲辅助软件,火神大厅科技,步骤教程(有挂存在)-哔哩哔哩1、游戏颠覆性的策略玩法,独创攻略技...