问题标签 [android-room-relation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android Room Embedded Relation 忽略 where 条件
我有一组带有@Relations 的复杂表。这是我的第一张桌子:
第二张表:
这是我的第一个 @Embedded 符号:
第二个嵌入关系:
问题是我不能做一个简单的查询:
运行此查询将返回表中的所有值。它似乎忽略了 where 子句,尽管嵌入式关系有效 - 列表结构就像我预期的那样。如果您使用房间关系,您可以在 where 子句中执行条件吗?
编辑
我已经创建了这个测试文件,显然您可以使用 Where 子句进行查询。
android - Room @Relation 只返回表格的第一项
我在 Android 中为我的数据库使用 Room,我也在使用 @Relation(基于此:https ://developer.android.com/reference/android/arch/persistence/room/Relation.html )从关系中获取数据与 ForeinKey 一对多关联的实体。我想要得到的是一个使用@Relation 的 RoomArea 实体的带有 roomAreaNames 的列表。该代码没有编译错误,问题是我只从@Relation 返回的是一个大小为 1 的列表(只有表中的第一个对象)而不是完整列表。
表:
道查询:
这是@Relation(只给我一个大小为 1 的列表)我需要与 buildingId 相关的所有房间区域
谢谢你。
android - Moshi 和房间映射关系
我有Json
我想用来映射Moshi
和存储的东西Room
我准备了我的模型
目前,我已error: Cannot figure out how to save this field into database.
阅读此https://developer.android.com/training/data-storage/room/relationships。但是,如果我要像文档中那样对关系建模,我不知道如何让 Moshi 映射关系?你找到解决这个问题的最简单的方法了吗?
android - Android房间@Relation left join
假设我有两个实体,问题和答案,它们具有一对多的关系,每个问题可能有 0..n 个答案。它们被定义为:
如果此用户尚未回答问题,我想查询数据库并获取QuestWithAns
包含所有问题的对象列表以及只有一个或 null 的答案。userId
我尝试在 DAO 对象中实现此查询,如下所示:
但是对于这个用户没有回答的问题,room 会返回任何其他用户的最后一个答案,而不是 null。
谁能帮我确定我做错了什么?有没有办法用@Relation 来实现这个查询?
android-sqlite - 具有多列的@Relation Room DB
如果我想关联 2 个表并且关系不仅是一列而是更多,有没有办法使用带有更多参数的 Room @Relation 注释来实现?也许像下面这样
所以连接有多个约束?
java - 在房间中的实体之间创建关系
我正在尝试在android中实现按名称搜索地点。我创建了两个实体,Word
并且Place
.
我还创建了另一个来模拟和data class
之间的一对多关系。Word
Place
我遇到的问题是,当我查询得到的数据时null
。
这是 中的查询功能dao
。
我需要帮助才能使实施工作。
android - Android房间数据库中的多个表
我想知道如何在 android room 数据库中拥有多个表并使用关系?我需要一点解释,或者如果你有一个很好的教程,我将不胜感激
谢谢。
android - 使用房间关系时如何通过查询访问子实体的列?
我有两个实体订单和客户。每个订单与零个或单个客户相关联,每个客户与零个或多个订单相关联。
我想查询对应客户的订单表是否存在。
所以,我按照文档创建了关系。
我可以使用dao查询订单列表和对应的客户。
但是当我尝试访问子实体的列时,我得到了编译错误。例如,我想查询客户名称为 **** 的订单。
因此,我更新的查询:
是否可以在 where 子句中访问子实体的属性?
那么问题来了,这种关系是如何运作的!?我发现它首先查询订单实体,然后查询客户实体。如果我错了,让我展示正确的方法。
我有另一种查询多个表的解决方案,但我无法使用房间提供的关系功能,或者我遗漏了一些东西!
我可以按照这个答案使用连接和映射到对象。
询问:
但是,仍有疑问。如何映射订单和客户表的所有列?我是否需要as
在查询中映射所有客户列,或者有另一种简化的方法可用?如果两个表都有更多列并且我需要获取第一个和第二个表的所有列,那么我的查询将足够长。我想知道是否有最简单的方法来映射两个表而不使用或最少使用as
第二个表的所有列。
帮助我采用正确的方法和更好的可用解决方案。
android - 带有嵌套动态 WHERE 子句的 Room @Relation
假设我有每个可以有许多类别的项目:
我可以使用它检索所有具有类别的项目,效果很好:
如何使用 Room 或 SQL 根据 ID 检索具有特定类别的项目?
我不认为这是可能的,显然Categories 列表是POJO 列表,它是一个嵌套关系。那么在 SQL 中使用原始查询执行此操作的唯一方法是什么?
这是我发现的最接近的问题,但此处答案中的 DatabaseView 对其 WHERE 子句使用硬编码字段,我需要能够在运行时指定类别 ID。