1. 创建表
@Entity
声明该类对应一个数据表实体(万事万物皆为对象)。
@Table
设置表名
@Entity
@Table(name = "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
省略getter/setter......
}
2. 创建主键
@Id
:声明一个字段为主键。
使用@Id
声明之后,可以使用 @GeneratedValue
指定主键生成策略。
使用 @GeneratedValue
指定主键生成策略的方式有两种:
1. 通过 @GeneratedValue 可以直接使用 JPA 内置提供的四种主键生成策略来指定主键生成策略。
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
JPA 使用枚举定义了 4 中常见的主键生成策略:
- TABLETABLE:使用一个特定的数据库表格来保存主键;
- SEQUENCE:为Oracle、PostgreSQL等不支持主键自增长的数据库提供了一种叫做“序列(sequence)"的主键生成机制;
- IDENTITY:主键自增长;
- AUTO:把主键生成策略交给持久化引擎,持久化引擎会根据数据库在以上三种主键生成策略中选择其中一种
@GeneratedValue 注解默认使用的策略是GenerationType.AUTO
。 在关系型数据库中使用GenerationType.IDENTITY
策略比较普遍一点
pub