日期:2014-05-18  浏览次数:20797 次

做简单的hibernate测试,报了一个整型int错误,帮忙看看
报的运行错误是这个
Exception   in   thread   "main "   java.lang.ClassCastException:   java.lang.Integer
at   org.hibernate.type.ComponentType.toLoggableString(ComponentType.java:279)

--------------------
在***.hbm.xml中的int代码是这个
<hibernate-mapping>
        <class   name= "org.chun.hibernate.bean.Mv "   table= "mv "   schema= "dbo "   catalog= "music ">
                <composite-id   name= "id "   class= "org.chun.hibernate.bean.MvId ">
                        <key-property   name= "mvid "   type= "java.lang.Integer ">
                                <column   name= "mvid "   />
                        </key-property>

在get和set中bean的int代码是这个
private   int   mvid;
public   Integer   getMvid()   {
return   mvid;
}
public   void   setMvid(int   mvid)   {
this.mvid   =   mvid;
}

-------------------------
在main函数中插入是这样
public   static   void   main(String[]   args)   {
Mv   m=new   Mv();
m.setMvid(55);

为什么报那个错误啊。高手帮忙

------解决方案--------------------
int 全部改成Integer
m.setMvid(new Integer(55));
------解决方案--------------------
int 全部改成Integer
m.setMvid(new Integer(55));

------解决方案--------------------
在类的声明属性中
把int型都改成integer