相关疑难解决方法(0)

房间关系匹配多个列

我之间的实体之间的关系应如下所示:

概述->有很多->类别->有很多->交易

如果Category.overviewId == Overview.id,则类别应包括在Overview中。我很确定我应该能够使用@Relation注解来实现此目标,例如:

@Relation(parentColumn = 'id', entityColumn = 'overviewId')
List<Category> categories;
Run Code Online (Sandbox Code Playgroud)

然后,我要在Category实体内包括Transaction.overviewId == Category.overviewId && Transaction.categoryId == Category.categoryId的所有事务。这是我正在努力的部分,因为@Relation批注似乎只能考虑1列。我想我想要类似的东西:

@Relation(parentColumn = {'overviewId','categoryId'}, entityColumn = {'overviewId','categoryId'})
List<Transaction> transactions;
Run Code Online (Sandbox Code Playgroud)

但这似乎不是一种有效的处理方式。有谁知道我应该如何做到这一点?我想我最终希望能够观察到一个查询,该查询将在相关的概述,类别或事务更新时更新,因此将类别和事务嵌入到概述中似乎是最好的方法,但是如果有更好的选择听到它真是太好了。

android android-room android-architecture-components

7
推荐指数
1
解决办法
282
查看次数

@Relation Room DB 多列

如果我想关联 2 个表并且关系不仅是一列而是更多,有没有办法使用带有更多参数的 Room @Relation 注释来实现这一点?也许像下面这样

@Relation(parentColumn = "{message_id,account_id}", entityColumn = "{message_id, from_account_id}", entity = Message::class)
    var messageList: List<Message> = ArrayList()
Run Code Online (Sandbox Code Playgroud)

所以连接有多个约束?

android-sqlite android-room android-room-relation

6
推荐指数
0
解决办法
254
查看次数