Hibernate异常:Unable to locate appropriate constructor on class
1.这是Hibernate实体类操作异常,出现这个异常,要检查以下几个情况。
2.首先要检查在实体类中是否有全参构造器,例如:
package entity;
public class Xiaoqi implements java.io.Serializable {
private String name;
private String sex;
private Integer age;
public Xiaoqi() {} //无参构造器
public Xiaoqi(String name,String sex, Integer age) { //全参构造器
this.name= name;
this.sex= sex;
this.age= age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
3.如果有上面两个构造器,再检查变量是否匹配,不要写错了,有时候写错了可真难找出来,看几十遍都莫反应!所以,写的时候耐心点,血的教训,血的教训啊!
4.然后要注意,变量类型是否匹配,比如,上面的age变量类型为:Integer,写成 int 可能会有问题。所以要注意long和Long,boolean和Boolean等等,不啰嗦了!
5.xxx.hbm.xml中配置类型与类的实积类型是否有差异。
6.hibernate中date对应的java的数据类型不能为:java.sql.Date ,只能为java.util.Date(why?对照表是可以的??)