在一些特殊的数据库中,比如Oracle中可以使用Sequence来生成自动主键。若要在Entity中使用Sequence作为主键的生成策略,则步骤如下所示。
(1)在数据库中创建一个Sequence,SQL脚本如下。
CREATE SEQUENCE customer_sequence START WITH 1 INCREMENT BY 10;
这个Sequence从1开始,每次增长10。
提示:本书采用的MySQL数据库中不支持Sequence,所以此策略不适用于MySQL。
(2)在Entity标记主键的位置,指定主键生成策略为“GenerationType. SEQUENCE”,具体设置如下。
@Entity
@Table(name = "customer")
public class CustomerEO implements java.io.Serializable {
private Integer id;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
public Integer getId() {
return this.id;
}
public void setId(Integer id) {
this.id = id;
}
}