Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 休眠增量起始数_Java_Oracle_Hibernate_Derby - Fatal编程技术网

Java 休眠增量起始数

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开

我正在使用hibernate将一个实体持久化到我的数据库中。目前它是一个derby数据库,但我很快就会将其转移到oracle数据库

在my classname.hbm.xml中,我将id定义为:

<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使用序列。您可以轻松地将序列的值增加到任意的起始值