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數據庫託管序列返回的值,但隨後將其分配給我的實體之前修改...