2017-09-04 1355 views
0

在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; 
} 

我怎樣才能解決這個問題?

+0

描述是「類定義只用作本地的字段」,因爲類中有很多局部變量 –

+0

你在哪裏訪問你的字段?在'BaseDiagnosis'類中?如果是這樣,你可以在基類中提供那段代碼嗎? –

+0

感謝您的回覆。它是一個hibernate實體。這些是獨特的領域/屬性,而不是來自BaseDiagnosis。代碼片段不會給出任何錯誤,但會在jenkins findBugs中顯示違規。它顯示「類定義只用作當地人的字段」。由於所有的字段都是私有類型,並且不確定要添加什麼來解決Findbugs違例(FCBL_FIELD_COULD_BE_LOCAL) –

回答

0

爲了解決這個問題,你需要使用你在你的班級的某個地方。 FindBugs告訴你的是,你的類中的字段永遠不會被用作字段。

如何使用從數據庫檢索到的字段?也許你需要添加getters?現在,你的領域是沒有用的(除非你不用反射來使用它們,這是不好的)。

+0

我同意。吸氣者不在這裏,而且根據我的要求,我不需要同班同學中的那些吸氣者。感謝您的及時回覆。 –