ORMLite 尝试在没有@DatabaseField 注释的情况下加载字段

ORMLite trying to load field without @DatabaseField annotation

我有 2 个 类 如下:

@Getter
@Setter
@NoArgsConstructor
@DatabaseTable(tableName = "condicao_ambiental")
public class CondicaoAmbiental {
    @Expose
    @DatabaseField(id = true, columnName = "id")
    private UUID id;
    @Expose
    @DatabaseField(dataType = DataType.DATE_LONG)
    private Date dataCriacao;
    @Expose
    @DatabaseField(columnName = "idUsuario", foreign = true, foreignAutoRefresh = true)
    private Usuario usuario;
    ...
}   

@Getter
@Setter
@NoArgsConstructor
@DatabaseTable(tableName = "usuario")
public class Usuario {
    @Expose
    @DatabaseField(id = true, columnName = "id")
    private UUID id;
    @DatabaseField(foreign = true, columnName = "idCliente")
    private Cliente cliente;
    @DatabaseField
    private String nome;
    @DatabaseField
    private String login;
    private String senha;
    ...
}

这些类中使用的注释来自LombokRetrofit2OrmLite5

当我查询列表 CondicaoAmbiental 时出现此错误:

java.sql.SQLException: Unknown field 'senha' from the Android sqlite cursor, not in:[id, idCliente, nome, tipoSindicato, dataCadastro, diasTeste]

但列 senha 未被注释为字段。

当我查询列表 Usuario 时,一切运行正常,列表已加载。 如果我从字段 usuario 中删除 foreignAutoRefresh=true,则不会发生错误。

有人能告诉我我错过了什么吗?

正如 Gray 所解释的那样,解决方案只是重新编译项目,以便 ORMLite 可以重新生成配置文件。