zoukankan      html  css  js  c++  java
  • spring中使用HibernateTemplate或HibernateDaoSupport报类型转换错误

    使用spring的HibernateDaoSupport的时候。报错例如以下:

    java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
    at 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 });  
    }  


  • 相关阅读:
    Redis面试题
    Mysql面试题
    Mybatis面试题
    Springmvc面试题
    spring常见面试题
    优雅的参数校验
    Linux安装mongodb
    Redis缓存的雪崩、穿透、击穿
    语音识别(LSTM+CTC)
    大数据利器Hive
  • 原文地址:https://www.cnblogs.com/lxjshuju/p/7000544.html
Copyright © 2011-2022 走看看