spring中使用HibernateTemplate或HibernateDaoSupport报类型转换错误

来源:互联网 发布:skype聊天软件 编辑:程序博客网 时间:2024/06/06 06:56

使用spring的HibernateDaoSupport的时候,报错如下:

java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integerat org.hibernate.type.IntegerType.set(IntegerType.java:64)at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:154)at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:136)

实体类如下:

public class User{      private int id;      private String name;        public int getId(){          return id;      }      public void setId(int id){          this.id = id;      }      public String getName(){          return name;      }      public void setName(String name){          this.name = name;      }  }


dao层的代码如下:

public void select(String id){      List result = this.getHibernateTemplate().find("from User where id=?",                  new Object[] { id });  }

错误原因是:实体类中User类的id属性是Integer类型的,但是传递的查询条件id是String类型的。将string改成int类型,错误解决。

public void select(int id){      List result = this.getHibernateTemplate().find("from User where id=?",              new Object[] { id });  }  


0 0
原创粉丝点击