是这样子的,原先有一个项目,在mysql中有一个student表我想在先有的表上增加变量。增加了一个birthday的变量,varchar(40)
已经确定增加了这个变量然后,我在student.java里面添加了:
private String birthday;
修改了构造函数和get set函数然后在student.hbm.xml里面修改了:
<property name="birthday" type="java.lang.String">
            <column name="birthday" length="40" />
        </property>但运行了之后,提示:
Unknown column 'student0_.birthday' in 'field list'
我检查了一下外键,这个birthday应该没有影响到外键,我就只是添加而已,还报了这样的错误:
警告: Failed to destroy MBean for naming resource [UserDatabase]
javax.management.InstanceNotFoundException: Users:type=UserDatabase,database=UserDatabase
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getMBean(DefaultMBeanServerInterceptor.java:1094)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.exclusiveUnregisterMBean(DefaultMBeanServerInterceptor.java:415)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.unregisterMBean(DefaultMBeanServerInterceptor.java:403)
at com.sun.jmx.mbeanserver.JmxMBeanServer.unregisterMBean(JmxMBeanServer.java:506)
at org.apache.catalina.mbeans.MBeanUtils.destroyMBeanUserDatabase(MBeanUtils.java:1621)
at org.apache.catalina.mbeans.MBeanUtils.destroyMBean(MBeanUtils.java:1207)
at org.apache.catalina.deploy.NamingResources.destroyInternal(NamingResources.java:1073)
at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:304)
at org.apache.catalina.core.StandardServer.destroyInternal(StandardServer.java:825)
at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:304)
at org.apache.catalina.startup.Catalina.stop(Catalina.java:743)
at org.apache.catalina.startup.Catalina.start(Catalina.java:704)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:450)
我查了一下相关的资料,大概都是描述表映射出错,但名字我查了下没有错误,其余不知道又该怎么查,请问哪里出了问题了,感激不尽!

解决方案 »

  1.   

    看表中增加这一列和配置文件、java代码有没有不一致
      

  2.   

    我只改了这些,配置文件不就这些吗,其余java文件我都看了,有增加哪些都有改动,但是这里只是调用了显示的那个,那个没问题,但就报了这个错
      

  3.   

    表结构是不是就是那个JAVA文件呢,我改了,对应的xml我也改了
      

  4.   

    mysql中因为引号符号问题也会导致这种错误unknown column xxx in 'field list'先试着排除下数据库方面的问题吧,执行针对birthday列的插入或更新的sql语句把问题集中在hibernate侧
      

  5.   

    建议用powerdesigner设计数据库再生成数据库,,再冲数据库反向生成配置文件,,,不然很容易错
      

  6.   

    额,不是就是直接改xml就可以吗,除了那一个表对应的有变动,其余的应该都没变动啊
      

  7.   

    把show_sql打开,直接把Hibernate生成的SQL打出来,把?换成对应的常量,直接执行。这样100%会报同样的错误,但是在数据库端,你就知道错误在哪里了。
      

  8.   

    有的时候eclipse和myeclipse都是那样的,重新映射或close在open一下就没问题了,我也遇到过