如何克服 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
注释应该有效。
在 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
注释应该有效。