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 字段?

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
}

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

对不起,没有。 默认情况下,ORMLite 会调查所有基类字段,并会找到具有注释的字段 - 即使标记为 private

最新更新