@GeneratedValue基本注解类型
在上一篇文章中,我们讲到了JPA使用@GeneratedValue注解来定义生成策略,而关于注解生成策略有4种基本支持类型:
1. GenerationType.TABLES 当前主键的值单独保存到一个数据库的表中
2. GenerationType.SEQUENCE 利用底层数据库提供的序列生成标识符
3. GenerationType.IDENTITY 采取数据库的自增策略
4. GenerationType.AUTO 根据不同数据库自动选择合适的id生成方案,这里使用mysql,为递增型
而在配置GenerationType.SEQUENCE和GenerationType.TABLES我们可以使用如下来拓展配置:
1. GenerationType.SEQUENCE
实例配置如下:
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "idGenetator")
//下面的name与GeneratedValue的generator属性一致
@SequenceGenerator(name = "idGenetator",
sequenceName = "t_user_seqId",//数据库中序列的名字
allocationSize = 1,//每次增长数值
initialValue = 2)//初始数值
private Integer id;
这里需注意的是mysql是不支持sequence增长方式的。