javax.persistence.SequenceGenerator和分配大小
我们都知道Hibernate在使用@SequenceGenerator时的默认行为-它将实际数据库序列增加1,将该值乘以50(默认分配大小值)-然后将该值用作实体ID。因此,第一个问题是为什么hibernate将从数据库中获取的序列号与分配大小相乘 第二,当Spring/Hibernate应用程序和ETL作业同时在同一个表中插入数据时,如何消除约束冲突异常 此外,表中的序列值也存在巨大的差异,解决方案是什么 仅供参考,我们在应用程序中使用以下注释,使用Oracle数据库中定义的序列生成主键列的值:javax.persistence.SequenceGenerator和分配大小,java,oracle,hibernate,jpa,spring-data-jpa,Java,Oracle,Hibernate,Jpa,Spring Data Jpa,我们都知道Hibernate在使用@SequenceGenerator时的默认行为-它将实际数据库序列增加1,将该值乘以50(默认分配大小值)-然后将该值用作实体ID。因此,第一个问题是为什么hibernate将从数据库中获取的序列号与分配大小相乘 第二,当Spring/Hibernate应用程序和ETL作业同时在同一个表中插入数据时,如何消除约束冲突异常 此外,表中的序列值也存在巨大的差异,解决方案是什么 仅供参考,我们在应用程序中使用以下注释,使用Oracle数据库中定义的序列生成主键列的值
@Id
@SequenceGenerator(name = "seqGenerator", sequenceName = "SEQ_table1")
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seqGenerator")
private Long id;