日期:2014-05-18  浏览次数:20726 次

Hibernate: oracle数据库下可以用increment吗?
帮朋友修改一个系统,系统用的是oracle数据库.但我发现他里面的hibernate配置文件(.hbm.xml)头二行这样的:
...............................
<id   column= "id "   name= "id "   type= "long "   unsaved-value= "0 ">
<generator   class= "increment "/>
</id>
..............................
也就是说他用increment作为生成器,实现自增功能.
所以我想问一下,在oracle数据库下,hibernate也可以用increment作为生成器吗?如果可以,要配置哪些东西呢?

------解决方案--------------------
不可以,

可以用sequence

<generator class= "sequence ">
<param name= "sequence "> mysequence </param>
</generator>
------解决方案--------------------
Oracle没有increment的功能。那时Mysql最常见的关键字。
Oracle中使用sequence最合适了。
先定义个Sequence,然后按照laoxing521(想做程序员的农民) 的方法就可以了。
他可以替你自动计算的。
------解决方案--------------------
如果他程序没该那id值,
数据库没触发那id值,
别的地方都没改那id值

那么当然就可以用increment实现自增的功能了