5
我在我的项目中使用Hibernate,并且我的许多实体使用序列作为技术密钥。 例如:如何通过JPA和Hibernate管理序列?
@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;
...
}
我有关于由Hibernate生成的ID两个问题当这个类的一个新的对象被持久:
- 为什么SequenceGenerator(从javax.persistence)具有一个默认值分配大小设置为50而不是1?那有什么好处呢?
- Hibernate用来计算生成的ID的默认算法是什么?看来,Hibernate使用通过我的Oracle数据库托管序列返回的值,但随后将其分配给我的实体之前修改...