![](/img/trans.png)
[英]Spring throws exception trying to resolve property placeholder using a Jasypt encrypted property placeholder
[英]Spring JPA with boolean fields throws “cannot resolve property exception”
我面临着“无法解析属性isManager的”休眠查询异常。
我有以下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”开头的字段。
有人可以解释吗?
谢谢。
感谢您的评论。
我找到了解决方案。 当我们使用STS生成的setter和getter将字段命名为isManager时,默认值Boolean, false将保存在DB中。
字段不应以助动词开头。 根据我的例子:
@Column(name = "is_manager")
private boolean manager;
public boolean isManager() {
return employeeId;
}
public void setManager(boolean manager) {
this.manager = manager;
}
上面的setter和getter可以正常工作。 我尚未在数据库接口方法中更新@param
值。
谢谢。
Hibernate将getXxx和setXxx用于所有变量。 因此,getManager isManager变量getter getManager()不可用于休眠。
所以它得到错误。 解决问题。
注意:getIsManager对于访问原始布尔类型没有意义。 因此,Eclipse为所有以isXXX开头的原始数据生成吸气剂。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.