我正在构建一个应用程序,其中有一个Room实体,它的一列应该包含List。
在使用Flow、Coroutines和Room的应用程序中执行此操作的最佳方法是什么?
我尝试使用Jackson进行序列化(将List变成一个长json字符串,然后在提取时将其带回List(,但我不确定这是否是正确的方法。
谢谢你,
在使用Flow、Coroutines和Room的应用程序中,最好的方法是什么?
这是非常开放的意见。
从数据库的角度来看,方法是将任何列表作为一个表,从而
- 减少JSON膨胀从而降低效率
- 减少重复,从而更有可能符合规范化
- 不会潜在地引入复杂性甚至更大的低效率(例如,下面的答案中没有提到,但第一个字符的通配符必须进行完整的表扫描(
- 也许可以考虑使用like关键字在单个查询中匹配多个标题的问答,如果采用按表列出的方法,那么简单的
SELECT * FROM task WHERE task_tags IN(:taglist)
也可以这样做
- 也许可以考虑使用like关键字在单个查询中匹配多个标题的问答,如果采用按表列出的方法,那么简单的
从编码的角度来看,当嵌入JSON时,编码更简单,因为复杂的代码在JSON库中。