如何解决FindBugs中的FCBL_FIELD_COULD_BE_LOCAL问题?
问题描述:
在FindBugs的,我越来越喜欢FCBL_FIELD_COULD_BE_LOCAL
这个代码的类名行的一个问题:如何解决FindBugs中的FCBL_FIELD_COULD_BE_LOCAL问题?
@Entity
@Table(name = "DIAGNOSIS")
@Immutable
@Cache(usage = CacheConcurrencyStrategy.READ_ONLY)
public class RetrievableDiagnosis extends BaseDiagnosis
{
@Id
@Column(name = "DIAGNOSIS_ID")
private long diagnosisId;
@Column(name = "DIAG_NOTE")
private String diagnosisNote;
}
我怎样才能解决这个问题?
答
为了解决这个问题,你需要使用你在你的班级的某个地方。 FindBugs告诉你的是,你的类中的字段永远不会被用作字段。
如何使用从数据库检索到的字段?也许你需要添加getters
?现在,你的领域是没有用的(除非你不用反射来使用它们,这是不好的)。
+0
我同意。吸气者不在这里,而且根据我的要求,我不需要同班同学中的那些吸气者。感谢您的及时回复。 –
描述是“类定义只用作本地的字段”,因为类中有很多局部变量 –
你在哪里访问你的字段?在'BaseDiagnosis'类中?如果是这样,你可以在基类中提供那段代码吗? –
感谢您的回复。它是一个hibernate实体。这些是独特的领域/属性,而不是来自BaseDiagnosis。代码片段不会给出任何错误,但会在jenkins findBugs中显示违规。它显示“类定义只用作当地人的字段”。由于所有的字段都是私有类型,并且不确定要添加什么来解决Findbugs违例(FCBL_FIELD_COULD_BE_LOCAL) –