首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Exception >

org.hibernate.id.IdentifierGenerationException: ids for this class must be manua

2014-01-26 
异常信息: org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assign

异常信息:
org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save():

google到的出错或异常原因:
<id> 元素配置不正确, <id> 元素缺少其子元素 <generator> </generator> 的配置。
解决方法:
<id> 元素映射了相应数据库表的主键字段,对其子元素 <generator class= " "> ,其中class的取值可以为increment、identity、sequence、hilo、native……等,更多的可参考hibernate参考文档,一般取其值为native 。

我的*.hbm.xml文件如下:
<hibernate-mapping>
<class name= "com.fqf.Vipdata " table= "vipdata " catalog= "test ">
  <id name= "vipId " type= "java.lang.Integer ">
  <column name= "vipId " />
  <generator class= "assigned " />
  </id>
  <property name= "vipName " type= "java.lang.String ">
  <column name= "vipName " length= "20 " not-null= "true " />
  </property>
  <property name= "vipTitle " type= "java.lang.String ">
  <column name= "vipTitle " length= "20 " not-null= "true " />
  </property>
</class>
</hibernate-mapping>

试过把assigned改成native,问题依旧
不知道如何解决这个异常,求教。

------解决方法--------------------------------------------------------
你用的是Mysql数据库马?
如果是 把上面 的 catalog= "test " 去掉 看看

看看你的数据库表中的 id 是不是自增长类型!
------解决方法--------------------------------------------------------
<generator class= "assigned " /> 中把assigned改为vipId的类型

        

热点排行