本篇内容主要讲解“Hibernate3.1问题举例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Hibernate3.1问题举例分析”吧!
今天在运行一个很简单的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到底本质区别在哪里呢,或许还需要深入的研究。
到此,相信大家对“Hibernate3.1问题举例分析”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。