【发布时间】:2011-01-10 10:53:45
【问题描述】:
我有一个旧版 Oracle 数据库,其序列名为 PRODUCT_ID_SEQ。
这是Product 类的映射,我需要为其生成正确的ID:
public class Product {
@GeneratedValue(strategy = GenerationType.SEQUENCE,
generator = "retailerRaw_seq")
@SequenceGenerator(name = "retailerRaw_seq",
sequenceName = "PRODUCT_ID_SEQ")
private Long id;
...
}
但是看起来 ids 是以 50 的间隔生成的,比如 1000、1050、1100 等。这对应于默认值 allocationSize property = 50。所以这意味着 Hibernate 实际上并没有使用序列已在数据库中定义。
如何让 Hibernate 使用该序列?
【问题讨论】:
-
不,它不是重复的。答案见下文