2011-12-27 87 views
0

我使用ormlite與android和我有一些poco類。獲取波科屬性名稱

例子:

public class TableName { 
    @DatabaseField(id = true) 
    public Integer id; 

    @DatabaseField 
    public String prop; 
} 

我想創建有時

QueryBuilder<TableName, Integer> qb = dao.queryBuilder(); 
qb.where().eq("prop", "value"); 

我想驗證 「託」 的字符串,而不在我的POCO類(如PROPNAME)使用常量。你知道一個有效的方法來做到這一點嗎? (沒有像反射一樣的重負載)。

我真的很喜歡代碼驗證。

問候

回答

1

的ORMLite文檔組織這種方式,避免字符串文字隨處可見:

public class TableName { 
    public static final String FIELD_ID = "id"; 
    public static final String FIELD_PROP = "prop"; 

    @DatabaseField(id = true) 
    public Integer id; 

    @DatabaseField 
    public String prop; 
} 

QueryBuilder<TableName, Integer> qb = dao.queryBuilder(); 
qb.where().eq(TableName.FIELD_PROP, "value"); 

內部ORMLite使用反射,當你通過這個字符串,所以使用這個庫時,是不可避免的。

+0

該文檔實際上建議您在字段定義上使用'@DatabaseField(columnName = FIELD_PROP)'。你可以編輯你的答案,包括那個? – Gray