快速业务通道

Hibernate3.1与Hibernate3.2 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15

Hibernate3.1与Hibernate3.2

时间:2011-09-14 CSDN博客 钟美秀

今天在工作的时候发现了一个问题,希望能给大家一些启示,本人对Hibernate并没有很深的了解,只 是在项目中使用到肤浅的一些方法,下边讲一讲关于Hibernate3.1和Hibernate3.2相关的一些东西。

今天在运行一个很简单的save()方法报:

Exception   in   thread   "main"   net.sf.hibernate.MappingException: Dialect   does   not   support   identity   key   generation       at   net.sf.hibernate.dialect.Dialect.gerIdentitySelectString(Dialect.java:305)       at    net.sf.hibernate.persister.AbstracEntityPersister.<init> (AbstractEntityPersister.java:646)       at   net.sf.hibernate.persister.EntityPersister.<init>(EntityPersister.java:690)        at   net.sf.hibernate.persister.PersisterFactory.createClassPersister

一时真还真把我给拦了一下,还是发了点时间看了,刚开发完的项目是一样的配置一切都很顺利,这 次怎么报这种异常,

刚开始把重点放在了。hbm.xml文件的映射上,可是都是Hibernate 反转控制生成的,不会有错。

还是网络好呀,在CSDN网搜索到了关于这个问题的解决方法,自动增长的字段:取值可以为increment 、identity、sequence、hilo、native……等

把配置文件由这样的:

<id name="kid" type="java.lang.Long">           <column name="KID" precision="22" scale="0" />           <generator class="identity"/>  </id>

改为

<id name="kid" type="java.lang.Long">          <column name="KID" precision="22" scale="0" />          <generator class="increment"/>      </id>

结果一切都运行成功。

具体原因我没有深入去理解,没有时间,只知道,在使用 identity的是用和Hibernate3.1的jar, 而 hibernate3.2中就会抛异常,使用increment就不会。具体来说,在这里Hibernate3.1和Hibernate3.2到 底本质区别在哪里呢,或许还需要深入的研究。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号