如何克服 FindBugs 中的 FCBL_FIELD_COULD_BE_LOCAL 问题?

How to overcome the FCBL_FIELD_COULD_BE_LOCAL issue in FindBugs?

在 FindBugs 中,我在这段代码的 class 名称行遇到类似 FCBL_FIELD_COULD_BE_LOCAL 的问题:

@Entity
@Table(name = "Student")
@Immutable
@Cache(usage = CacheConcurrencyStrategy.READ_ONLY)
public class RetrievableStudent extends BaseStudent
{
    @Id
    @Column(name = "STUDENT_ID")
    private long studentId;

    @Column(name = "STUD_NOTE")
    private String studenetNote;
}

我该如何解决这个问题?

为了解决该问题,您需要使用 您在 class 中某处的字段。 FindBugs 告诉您的是,您 class 中的字段从未用作字段。

您如何使用从数据库中检索到的字段?也许您需要添加 getters?目前,您的字段是无用的(除非您不使用反射来使用它们,这不好)。

我的 POJO 已经有 getters setters, equals, hashcode。
当我尝试添加 @JsonProperty 注释时它起作用了,因为我的 POJO 是为 API 响应目的而构建的。
如果 POJO 用于 ORM 目的(意味着数据库实体),则 on getters 和 setters @Column 注释应该有效。