android - 我可以扩展一个简单的对象类来创建 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
父类的 String 没有@ColumnInfo
注释。事实是,我不想@Entity
在父类中设置注释,因为这两个子类将属于不同的表,如您所见。
那么,我可以在没有设置的@ColumnInfo
情况下在父类中@Entity
设置 a 吗?那么当我创建一个对象TestChildOne
并设置它时它会起作用TestChildOne.teststring
还是会引发错误?
非常感谢您!
解决方案
@ColumnInfo
注释即使在父类中也会起作用,因此@ColumnInfo
即使类没有@Entity
注释也可以编写
public class Test {
@ColumnInfo( name = "yourColumnName" )
public String teststring;
}
推荐阅读
- sql - 无法增加数据库会话数
- c - sc_memset 中的 volatile 参数
- android - 为什么在颤动的 android 和 ios 上的 BottomAppBar 高度存在差异?
- python - Altair 使用另一个下拉菜单控制一个下拉菜单
- laravel - 外键列的雄辩之和
- c# - 检查当前用户是否在 APS.NET MVC 5 中被阻止的消息处理程序
- python - Python - 与字符串一起获取匹配的字符串百分比
- c# - 我得到一个错误,不能隐式转换 int 类型?诠释。存在显式转换(您是否缺少演员表?)
- sql - SQL Count Case NOT COUNT 多个字符串
- python-2.7 - 通配符更改时具有不同默认文件名的pyface FileDialog