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


  • 相关阅读:
    树四:遍历二叉树
    树三:创建二叉树
    树二:二叉树定义及性质
    树一:定义及存储
    排序七:归并排序
    排序六:快速排序
    排序五:希尔排序
    排序四:冒泡排序
    深入分析Linux内核链表
    179. Largest Number
  • 原文地址:https://www.cnblogs.com/lxjshuju/p/7000544.html
Copyright © 2011-2022 走看看