Java 如何在Android room中拥有几个带有一个实体的表?

Java 如何在Android room中拥有几个带有一个实体的表?,java,android,android-room,Java,Android,Android Room,它很容易在房间中创建实体和相应的表。假设我们有一个用户实体 @Entity(tableName = "users") public class User { @PrimaryKey @ColumnInfo(name = "userid") @NonNull private String mId; @ColumnInfo(name = "username") private String mUserName; @ColumnInfo(name = "last_update") private

它很容易在房间中创建实体和相应的表。假设我们有一个用户实体

@Entity(tableName = "users")
public class User {

@PrimaryKey
@ColumnInfo(name = "userid")
@NonNull
private String mId;

@ColumnInfo(name = "username")
private String mUserName;

@ColumnInfo(name = "last_update")
private Date mDate;

默认情况下,数据将存储在表“users”中。我可以保留相同的实体但同时有两个表吗?例如,“老用户”和“用户”不是直接的。实体具有到表的1:1映射


您可以使用Java继承来最小化代码重复,并支持多个表(例如,
User
OldUser
BaseUser
继承)。

我认为这会很有帮助。如果有人在Kotlin上使用数据类,其中所有字段都通过主构造函数传递,而该类没有额外的方法,该怎么办,我们如何减少重复?@Tamimatafi:减少什么样的重复?我建议您提出一个单独的堆栈溢出问题,在这里您可以更详细地解释您正在寻找什么。老实说,虽然我的答案在技术上是正确的,但更好的答案是“不要有
old_users
表--在
User
上有
isOld
属性”。