Hin*_*rry 2 hibernate jpa hibernate-mapping jpa-2.0 hibernate-jpa
环境:
Database - Oracle 12c
Hibernate - 5.2.10Final
JPA - version 2.0
Run Code Online (Sandbox Code Playgroud)
我们使用 entityManager.merge 插入对象。序列的值为正值,但插入 db 时,它变为负值。似乎无法找到造成这种情况的原因。
这是我们为实体对象 id 属性字段设置的休眠设置,以及序列设置
@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;
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮忙吗?谢谢。
在SequenceGenerator注释中有一个名为 的变量allocationSize。默认情况下,此大小为50. 这意味着 Hibernate 将保留 50 个 id,并且不需要为每个插入检索新的 id。所以你需要:
allocationSize为与someSequenceincrementBy 值相同的值。someSequence的匹配allocationSize值上设置 incrementBy值。那么你的问题就会消失。
| 归档时间: |
|
| 查看次数: |
1060 次 |
| 最近记录: |