Ormlite:是否可以忽略子类中的基类字段?

时间:2013-10-03 10:26:19

标签: android ormlite

Class A{
    @DatabaseField(generatedId=true, columnName=ID_FIELD_NAME)
    private int id:
    @DatabaseField
    private C cfield;
}


@DatabaseTable(tableName="B class")
Class B extends A{
    ...
    ...
}

是否可以说B类忽略基类中的C字段?

2 个答案:

答案 0 :(得分:3)

private C cfield; 

默认情况下,ORMLite会忽略它。

原因是没有给出cfield的注释。如果没有为属性指定注释@DatabaseField,则会忽略该注释。


属性的可见性可以解决问题。喜欢

Class A {
    @DatabaseField(generatedId=true, columnName=ID_FIELD_NAME)
    protected int id; // Set public or protected for sharable attributes
    @DatabaseField
    private C cfield; // Set private which you want to ignore from Child class
}

答案 1 :(得分:1)

  

是否可以说B类忽略基类中的C字段?

抱歉,但没有。 ORMLite默认调查所有基类字段,并会找到带注释的字段 - 即使标记为private