Java 休眠增量起始数
我正在使用hibernate将一个实体持久化到我的数据库中。目前它是一个derby数据库,但我很快就会将其转移到oracle数据库 在my classname.hbm.xml中,我将id定义为:Java 休眠增量起始数,java,oracle,hibernate,derby,Java,Oracle,Hibernate,Derby,我正在使用hibernate将一个实体持久化到我的数据库中。目前它是一个derby数据库,但我很快就会将其转移到oracle数据库 在my classname.hbm.xml中,我将id定义为: <id name="id" type="long"> <column name="ID"/> <generator class="increment"/> </id> 如何设置id的起始值?我希望从10000开始,而不是从1开
<id name="id" type="long">
<column name="ID"/>
<generator class="increment"/>
</id>
如何设置id的起始值?我希望从10000开始,而不是从1开始。“增量”对于ID生成来说不是一个好主意
如果您要迁移到Oracle,那么您将使用一个序列来生成ID,该序列由Oracle控制,因此您可以让它以您想要的任何值开始
从10.6开始支持Derby,尽管您需要Hibernate 3.6才能将其安装到..我认为您不能,但IncrementGenerator似乎是基于最高主键工作的,因此除非您修复主键(我不推荐),否则您将无法使用该功能 会推荐一种不同的策略,在一组机器中也不安全。。。查看Hibernate文档,可能还有增强的标识符生成器: 生成器类型增量在表中查找最大数字主键值,并将其递增1 当使用的基础数据库是Oracle时,Generator type native使用序列。您可以轻松地将序列的值增加到任意的起始值