java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
看看你的映射文件,肯定是出错了,不要相信自己没错。

解决方案 »

  1.   

    lz  你应该把你vo 对象  和 配置文件都贴出来
      

  2.   

     java.lang.String cannot be cast to java.lang.Integer  
    映射文件里字段的数据类型 和数据库的设定的是不是一样啊 检查下
      

  3.   

    你贴的代码太少了,不过看错误应该是
    BooksIn =(Books) session.get(Books.class, bookId);
    这里取到的bookId应该是String类型,再丢给数据库的时候应该转成int类型
      

  4.   

    java.lang.String cannot be cast to java.lang.Integer   
    映射文件里字段的类型 和数据库的类型不一样  你看映射文件 吧
      

  5.   

    应该把参数bookId定义为Integer 或 int
      

  6.   

    LZ 用H 吧 H的配置文件里的 类型没改吧   
      

  7.   

    <class name="com.order.domain.OrderItems" table="ORDER_ITEMS" schema="SYSTEM">
            <id name="id" type="int">
                <column name="ID" precision="22" scale="0" />
                <generator class="increment" />
            </id>
    其中的 type 要自己写 
      

  8.   

    java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer数据类型转换错误,要么事配置文件和java类映射不对,要么就是你手动代码转换类型时错误,仔细找找,ok??好好学习,天天赚钱!
      

  9.   

    这个很难回答的,没有具体一点的代码,而且看不到你的hibernate.hbm.xml配置文件,所以不知道你哪个字段的数据类型出错了,认真仔细点了,出去散散心,回来再检查一下。
      

  10.   

    就是这句
    Books in =(Books) session.get(Books.class, bookId);
    应该是 你 这里的 bookId 的类型不对,你 这个 我不知道你从哪得到的,应该得到的是 String 型,你表里的类型应该是int 型吧,你在调用 get 方法的时候 实际应该是执行了查询语句 根据id 查找books对象 ,你 将 bookId 转 一下  Integer.valueOf(bookId)
      

  11.   

    bookid你这个参数和你的数据库里的不一致