我正面臨着「無法解析屬性isManager」的Hibernate查詢異常。帶有布爾字段的Spring JPA拋出「無法解析屬性異常」
我有以下java類:
public class Employee implements Serializable {
@Column(name = "employee_id")
private Integer employeeId;
@Column(name = "name")
private String name;
@Column(name = "is_manager")
private boolean manager;
public Integer getEmployeeId() {
return employeeId;
}
public void setEmployeeId(Integer employeeId) {
this.employeeId = employeeId;
}
public String getName(){
return name;
}
public void setName(String name) {
this.name = name;
}
public boolean isManager(){
return employeeId;
}
public void setManager(boolean manager) {
this.manager = manager;
}
這些是蝕產生setter和getter。當我替換時,
public boolean isManager() {
return employeeId;
} with
public boolean getManager() {
return employeeId;
}
錯誤消失。我經歷了很多堆棧溢出示例。但是到處都是這樣,我們不應該以「is」開頭的字段。
請問誰能解釋一下?
謝謝。
請使用BOOLEAN類不是原語,因爲休眠會嘗試保存對象到數據庫布爾是原始的 –
您的代碼是完美的按照JPA規範(尊重java bean namings),所以如果Hibernate需要使用布爾值,那麼在您的JPA提供商上提出問題。 –
嘗試將getter重命名爲'getManager()' 或者您可以將該屬性重命名爲'isManager' - >將getter重命名爲'getIsManager' –