今天在使用eclipse自動生成Setter/Getter方法時發現, 如果一個布爾型變量命名以“is”開頭的話,自動生成的Setter/Getter方法中會將“is”自動去掉,例如:
變量:isRequestable,
生成的變量就會為:
public boolean isRequestable() {
return isRequestable;
}
public void setRequestable(boolean isRequestable) {
this.isRequestable = isRequestable;
}
結果我在使用seam的時候,上下文綁定就出了問題。提示找不到isRequestable這個property.
在代碼中自動生成之后,手動將之改寫為:
public boolean isIsRequestable() {
return isRequestable;
}
public void setIsRequestable(boolean isRequestable) {
this.isRequestable = isRequestable;
}
問題就解決了
另外,還有一個問題,就是變量名如果是第一個為小寫字母,第二個為大寫字母,也會出錯,例如:eOrder,
這樣在生成Setter/Getter方法時也會提示找不到變量。所以將變量改名,然后JPA注釋的時候映射一下就可以了。