通常我们喜欢将hql查询结果封装到POJO对象
出现这个异常需要检查以下几种情况:
1)参数构造器的参数类型是否正确
2)参数构造器的顺序和hql中的顺序是否一致
3)参数构造器的参数个数是否和hql中的个数一致
4)参数构造器的参数类型是否TimeStamp
其中第4种情况较为复杂
这里提供参数构造器的参数类型是TimeStamp的解决方法:
super.getHibernateTemplate().find("select new Student(id,name,date)from Student");
实体类:
public class Student {
private Long id;
private String name;
private String address;
private Timestamp date;
public Long getId() {
}
public void setId(Long id) {
}
public String getName() {
}
public void setName(String name) {
}
public String getAddress() {
}
public void setAddress(String address) {
}
public Timestamp getDate() {
}
public void setDate(Timestamp date) {
}
public Student() {
}
//注意些处的构造方法
public Student(Long id, String name, Object date) {
this.id=id;
}
public static Timestamp stringToTimestamp(String dateStr){
}
}