java - 如果可以将同一个对象保存到两个不同的表房间吗?
问题描述
假设我有 obj
class Human{
List<Car> demagedCars = new ArrayList();
List<Car> newCars = new ArrayList();
}
@Entity(tableName = "carstable")
class Car{
@PrimaryKey(autogenerate = true)
public long id;
public String name;
}
因此,房间将创建一个名称为的表,carstable
我将从两个列表中保存到该表中的对象newCars
和demagedCars
我怎样才能让它回到两个列表?
我认为可以创建两个表demagedcarstable
和newcarstable
并根据列表保存demagedCars
到demagedcarstable
和newCars
到newcarstable
但据我了解,没有办法为表格创建空间?
我不想改变我的对象...
我所需要的只是在一个数据库中创建 2 个表。当我得到demagedCars
所有我需要的清单时,我会告诉他I want you to save to demagedcarstable
,当我得到newCars
清单时,我会告诉他I want you to save to newcarstable
。因此,我有 1 个数据库和 2 个表,我想在哪里保存这个Car
对象。问题是:有可能吗?
随意问
解决方案
从结构的角度来看,我相信您应该将它们全部存储在同一个表中,比如说carsTable,并为汽车对象添加一个状态字段。然后,您可以查询您的carsTable并使用该状态字段过滤 WHERE 子句中的结果。
编辑:
从 RoomDB 的角度来看,您的查询看起来像这样:
@Query("SELECT * FROM carsTable WHERE status = :status")
public Car[] findCarsByStatus(String status);
推荐阅读
- unit-testing - 突变测试中的胜任程序员假设是什么?
- time-series - 使用自动编码器在多变量时间序列中进行异常检测
- python-3.x - 有谁知道在网站上运行 python 脚本的方法?
- scala - 使用来自另一个 df 的信息创建新列
- matlab - 在等距点的顶部绘制拉格朗日插值曲线
- html - How can I move the option box to the right using CSS?
- python - 从python中的命令行使用参数解析多个列表
- android - 导入时退出 Flutter 项目未在 android studio 中显示
- python - 使用 Clearbit API 安装错误退出状态 1
- python - 在 python translate() 中使用 google trans api 时出错,缺少 1 个必需的位置参数:'text'