本系列文章总结的JPA技术以Hibernate实现方案为主,小部分注解可能会依赖Hibernate库,不一定适用于OpenJPA。
本文主要介绍Hibernate的主键生成方式。
1. 手动分配方式
在这种方式下,开发人员必须手动分配主键,否则主键默认为空,相应的配置如下:
@Id
// 避免与数据库关键字冲突
@Column(name="PK")
private Long id;
2. 数据库序列方式
这种方式下,数据库必须支持序列对象,Oracle就是最好的例子。
@Id
@Column(name="PK")
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;