I'm defining table/field names thru usual annotations, like:
@DatabaseTable(tableName = "M")
public class Headers {
@DatabaseField(generatedId = true, columnName = "_ID", dataType = DataType.INTEGER_OBJ) //android requires primary key as _ID
private Integer id;
@DatabaseField(
columnName = "MM2",
uniqueCombo = true,
canBeNull = true, //null means root folder
dataType = DataType.INTEGER_OBJ
)
private Integer parentId;
}
Meantime somewhere deep in my code, I need to make some queries, like:
QueryBuilder<Headers, Integer> qb = headersDao.queryBuilder();
qb.where().eq("_ID", headerId); //_ID field name
This kind of code looks ugly, since field name (in this case _ID
) is hardcoded (even if would be declared as final static String
)
Question: is it normal OrmLite coding practice? I'd be expecting that I could use instead of hardcoded _ID
field some small code. For sure OrmLite "knows" all field names. Anyone can help me?
Aucun commentaire:
Enregistrer un commentaire