题
我使用的休眠在我的项目,和我的许多实体利用一个序列对于它们的技术键。例如:
@Entity
@Table(name = "T_MYENTITY")
@SequenceGenerator(name = "S_MYENTITY", sequenceName = "S_MYENTITY")
public class MyEntity {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "S_MYENTITY")
@Column(name = "MY_ENTITY_ID")
private Long entityId;
...
}
我有两个问题有关的ID产生的休眠时,一个新的对象的这类保留:
- 为什么SequenceGenerator(从内持久性)具有一种默认值的allocationSize设定为50,而不是1?什么是利益吗?
- 什么是默认算法所使用的休眠于计算所产生的身份证吗?看来,休眠使用价值返回的顺序托管我Oracle数据库,但后来修改之前将其分配给我的实体...
解决方案
- 这是对业绩的原因(预)
- 阅读休眠源代码。
不隶属于 StackOverflow