HibernateQueryException: Unable to locate appropriate constructor on class的常见问题

项目使用hibernate 偶尔会出现:HibernateQueryException: Unable to locate appropriate constructor on class
下面罗列一下常见的原因:
1、首先要检查在实体类中是否有构造器,例如:
package com.itlife365.Student

public class Student implements java.io.Serializable {
private String name;
private String sex;
private Integer age;

public Student() {}     //无参构造器

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

2、如果有上面两个构造器,再检查变量是否匹配,不要写错了
3、然后要注意,变量类型是否匹配,比如,上面的age变量类型为:Integer,写成 int 可能会有问题。所以要注意long和Long,boolean和Boolean等等,最好写成long型
4、查询时有几个参数,你的构造器要对应相应的参数。'
5、与对象对应的映射文件xxx.hbm.xml中配置类型与类的实体类型是否有差异、不同。
6、hibernate中date对应的java的数据类型不能为:java.sql.Date ,只能为java.util.Date

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年11月    »
123
45678910
11121314151617
18192021222324
252627282930
搜索
标签列表
网站分类
最新留言
    文章归档
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.闽ICP备11018667号-2