【发布时间】:2015-07-28 08:22:33
【问题描述】:
我通过常用注释定义表/字段名称,例如:
@DatabaseTable(tableName = "M")
public class Headers {
//android requires primary key as _ID
@DatabaseField(generatedId = true, columnName = "_ID", dataType = DataType.INTEGER_OBJ)
private Integer id;
@DatabaseField(
columnName = "MM2",
uniqueCombo = true,
canBeNull = true, //null means root folder
dataType = DataType.INTEGER_OBJ
)
private Integer parentId;
}
与此同时,在我的代码深处,我需要进行一些查询,例如:
QueryBuilder<Headers, Integer> qb = headersDao.queryBuilder();
qb.where().eq("_ID", headerId); //_ID field name
这种代码看起来很难看,因为字段名称(在这种情况下为 _ID)是硬编码的(即使会被声明为 final static String)
问题:这是正常的 OrmLite 编码习惯吗?我希望我可以使用一些小代码来代替硬编码的_ID 字段。 OrmLite 肯定“知道”所有字段名称。谁能帮帮我?
【问题讨论】:
标签: android sqlite android-sqlite ormlite