Jpa中关于@SequenceGenerator序列生成主键然后persist到数据库中的问题
先上oracle中的sequence定义:createsequenceBI.SEQ_RYIDminvalue1maxvalue99999999startwith10002...
先上oracle中的sequence定义:
create sequence BI.SEQ_RYID
minvalue 1
maxvalue 99999999
start with 10002156
increment by 20
cache 20
cycle;
这里,增量为20;
然后是java对象主键定义:
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="ryidGen")
@SequenceGenerator(name="ryidGen",sequenceName="bi.seq_ryid",allocationSize=30)
这是主键定义,增量定义为30.之后调用实体管理器,新增一个实体,然后将该该实体persist到数据库中,结果数据库中的sequence就变成了:
create sequence BI.SEQ_RYID
minvalue 1
maxvalue 99999999
start with 10002156
increment by 30
cache 20
cycle;
这种情况是怎么形成的,以及应该如何避免,就解释!! 展开
create sequence BI.SEQ_RYID
minvalue 1
maxvalue 99999999
start with 10002156
increment by 20
cache 20
cycle;
这里,增量为20;
然后是java对象主键定义:
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="ryidGen")
@SequenceGenerator(name="ryidGen",sequenceName="bi.seq_ryid",allocationSize=30)
这是主键定义,增量定义为30.之后调用实体管理器,新增一个实体,然后将该该实体persist到数据库中,结果数据库中的sequence就变成了:
create sequence BI.SEQ_RYID
minvalue 1
maxvalue 99999999
start with 10002156
increment by 30
cache 20
cycle;
这种情况是怎么形成的,以及应该如何避免,就解释!! 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询