JPA 自动建表(2)- @Id,@GeneratedValue 与 @GenericGenerator 指定主键生成策略

@Id,@GeneratedValue 配合设置主键生成策略为: 注解自增
注意:适用于MySql等具备主键自增功能的数据库,因为底层就是借用了MySql的主键自增功能
 1 @Entity
 2 public class TblTest {
 3 
 4     @Id
 5     @GeneratedValue(strategy = GenerationType.IDENTITY) // 设置主键生成策略为:主键自增长,适用于MySQL等部分数据库
 6     private Integer id;
 7 
 8     public Integer getId() { return id; }
 9     public void setId(Integer id) { this.id = id; }
10     public TblTest() { }
11 }
【建表语句】
CREATE TABLE `tbl_test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id`)
) 
@Id @GeneratedValue @GenericGenerator 配合设置主键生成策略为: uuid
注意:该策略是Hibernate提供的
 1 @Entity
 2 public class TblTest {
 3 
 4     @Id
 5     @GeneratedValue(generator = "myUuidGenerator")          // 给主键生成策略起个名字,随意起名
 6     @GenericGenerator(name = "myUuidGenerator", strategy = "uuid") // 设置主键生成策略为:uuid , 是 Hibernate 提供的
 7     private String id;
 8 
 9     public String getId() { return id; }
10     public void setId(String id) { this.id = id; }
11     public TblTest() { }
12 }
【建表语句】
CREATE
TABLE `tbl_test` ( `id` varchar(255) NOT NULL, PRIMARY KEY (`id`) )
【测试:新增一条记录】save( new TblTest() );

猜你喜欢

转载自www.cnblogs.com/abdusalam10/p/11910762.html