Hibernate3.1与Hibernate3.2

开发 后端
在工作的时候发现了一个问题,希望能给大家一些启示。在使用 identity的是用和Hibernate3.1的jar, 而hibernate3.2中就会抛异常,使用increment就不会。

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

今天在运行一个很简单的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.<init>(AbstractEntityPersister.java:646)     
  5.       at   net.sf.hibernate.persister.EntityPersister.<init>(EntityPersister.java:690)     
  6.       at   net.sf.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:42)   

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

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

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

把配置文件由这样的:

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

改为

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

结果一切都运行成功.

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

【编辑推荐】

  1. 强人Hibernate文档笔记(上)
  2. 强人Hibernate文档笔记(中)
  3. 强人Hibernate文档笔记(下)
  4. Hibernate一对多关系的处理
  5. Hibernate的性能优化
责任编辑:仲衡 来源: CSDN博客
相关推荐

2009-09-21 13:56:09

Hibernate3.

2009-09-21 14:24:08

Hibernate3.

2009-06-18 10:53:52

Hibernate3.

2009-09-25 17:26:55

使用Hibernate

2010-05-07 11:04:43

Hibernate

2009-06-18 11:43:40

Hibernate uHibernate s

2009-09-27 11:27:33

Hibernate3JBOSS 3.2

2009-06-12 15:13:12

Hibernate学习

2009-07-09 16:01:27

2009-09-21 14:50:01

Hibernate部署

2009-09-24 14:04:25

Hibernate i

2012-02-08 14:24:35

HibernateJava

2009-07-17 13:13:47

iBATIS Hibe

2009-09-22 13:12:25

Hibernateibatis

2009-06-17 15:13:30

2009-09-24 13:39:06

Hibernate VHibernate P

2009-07-06 18:29:55

2009-09-25 14:41:15

Hibernate对象

2009-09-23 12:48:54

Hibernate I

2009-06-19 18:36:15

JPAHibernate
点赞
收藏

51CTO技术栈公众号