Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/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
Hibernate Hibrate JPA-插入记录时序列变为负值_Hibernate_Jpa_Jpa 2.0_Hibernate Mapping_Hibernate Jpa - Fatal编程技术网

Hibernate Hibrate JPA-插入记录时序列变为负值

Hibernate Hibrate JPA-插入记录时序列变为负值,hibernate,jpa,jpa-2.0,hibernate-mapping,hibernate-jpa,Hibernate,Jpa,Jpa 2.0,Hibernate Mapping,Hibernate Jpa,环境: Database - Oracle 12c Hibernate - 5.2.10Final JPA - version 2.0 我们正在使用entityManager.merge插入对象。序列的值为正值,但插入到db中时,它变为负值。似乎找不到原因 下面是我们的entity object id属性字段的hibernate设置,带有序列设置 @Id @SequenceGenerator(name = "someSequence", sequenceName = "SOME_SEQUEN

环境:

Database - Oracle 12c
Hibernate - 5.2.10Final 
JPA - version 2.0
我们正在使用entityManager.merge插入对象。序列的值为正值,但插入到db中时,它变为负值。似乎找不到原因

下面是我们的entity object id属性字段的hibernate设置,带有序列设置

@Id
@SequenceGenerator(name = "someSequence", sequenceName = "SOME_SEQUENCE")
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "someSequence")
@Column(name = "RECORD_ID", unique = true, nullable = false, precision = 10, scale = 0) 
private String recordId;

有人能帮忙吗?谢谢

SequenceGenerator
注释中有一个名为
allocationSize
的变量。默认情况下,此大小为
50
。这意味着Hibernate将保留50个id,并且不需要为每次插入检索新id。因此,您需要:

  • allocationSize
    设置为与
    someSequence
    incrementBy value相同的值
  • someSequence
    上设置incrementBy值以匹配
    allocationSize
然后你的问题就会消失