同Sequence一样,有些数据库支持Identity字段作为生成表示的规则,例如Microsoft SQLServer。此时只需要将生成策略设置成GenerationType.IDENTITY,代码如以下所示。
@Entity
@Table(name = "customer")
public class CustomerEO implements java.io.Serializable {
private Integer id;
@Id
@GeneratedValue(strategy = GenerationType. IDENTITY)
public Integer getId() {
return this.id;
}
public void setId(Integer id) {
this.id = id;
}
}
同时,数据库中的customer表中的id字段要创建了identity。
提示:通过identity策略生成的主键值,只有当数据提交保存到数据库中时才会得到,它是支持数据库事务的。