如果你使用的数据库是oracle数据库 那末hibernate的主键生成策略一般是sequence
如下:
<id unsaved-value="null" name="id" type="integer">
<column name="ID">
<comment>主键</comment>
</column>
<generator class="sequence">
<param name="sequence">SEQ_SYS_FUNCTION_ID</param>
</generator>
</id>
一般这样写实没有问题的。但是在实际的项目当中我们的系统中往往有一部分初始数据,所以sequence的初始值不能从1开始增加,上面的的定义方法生成的squence脚本为:create sequence SEQ_XXXX;
但是我们实际需要的是 create sequence SEQ_XXXX start with 100 increment by 1;
经过对源码的分析发现可以通过参数形式处理
<param name="parameters">start with 100 increment by 2</param>
这样即可以了。
仅此记录