是否可以扩展简单的对象类以创建 Room 数据库对象?



假设我有一个简单的对象类:

public class Test {
public String teststring;
}

但是我想创建另一个对象类,这次它将是一个房间数据库类:

@Entity(tableName = "test_table_one")
public class TestChildOne extends Test {
@PrimaryKey(autoGenerate = true)
@ColumnInfo(name = "id")
public long test_id;
}

然后,我想创建另一个类:

@Entity(tableName = "test_table_two")
public class TestChildTwo extends Test {
@PrimaryKey(autoGenerate = true)
@ColumnInfo(name = "id")
public long test_id;
}

这里的问题是父类的字符串teststring没有@ColumnInfo注释。事实是,我不想在父类中设置@Entity注释,因为如您所见,这两个子类将位于不同的表中。

那么,我可以只在父类中设置@ColumnInfo而不设置@Entity吗?当我TestChildOne创建一个对象并设置TestChildOne.teststring时它会起作用,还是会抛出错误?

提前非常感谢!

即使@ColumnInfo

注解在父类中也可以工作,所以即使类没有@Entity注解,你也可以写@ColumnInfo

public class Test {
@ColumnInfo( name = "yourColumnName" )
public String teststring;
}

最新更新