Hibernate3.1与Hibernate3.2

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

创新互联-专业网站定制、快速模板网站建设、高性价比乐清网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式乐清网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖乐清地区。费用合理售后完善,十载实体公司更值得信赖。

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

 
 
 
  1. Exception   in   thread   "main"   net.sf.hibernate.MappingException:
  2. Dialect   does   not   support   identity   key   generation   
  3.       at   net.sf.hibernate.dialect.Dialect.gerIdentitySelectString(Dialect.java:305)   
  4.       at   net.sf.hibernate.persister.AbstracEntityPersister.(AbstractEntityPersister.java:646)   
  5.       at   net.sf.hibernate.persister.EntityPersister.(EntityPersister.java:690)   
  6.       at   net.sf.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:42)  

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

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

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

把配置文件由这样的:

 
 
 
  1.  name="kid" type="java.lang.Long">
  2.            name="KID" precision="22" scale="0" />
  3.            class="identity"/>
  4.  

改为

 
 
 
  1.  name="kid" type="java.lang.Long">
  2.           name="KID" precision="22" scale="0" />
  3.           class="increment"/>
  4.      

结果一切都运行成功.

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

本文题目:Hibernate3.1与Hibernate3.2
网站地址:http://www.gawzjz.com/qtweb2/news4/8404.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联