1. 首页
  2. 软件开发
  3. SpringData——JPA的Tabel主键生成策略

SpringData——JPA的Tabel主键生成策略

  • 发布于 2024-08-17
  • 15 次阅读

JPA中的主键生成策略决定了如何为实体类生成主键值,并将其映射到数据库表的主键字段上。常用的主键生成策略包括 GenerationType.IDENTITY 、 GenerationType.AUTO 、 GenerationType.SEQUENCE 和 GenerationType.TABLE 。

1. GenerationType.IDENTITY

主键由数据库自动生成,适用于自增主键字段。

@Entity
public class Product {
   
    
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    
   
}

2. GenerationType.AUTO

由JPA提供者根据数据库支持情况自动选择适合的主键生成策略,通常也是自增主键。

@Entity
public class Product {
   
    
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

}

3. GenerationType.SEQUENCE

通过序列生成主键,适用于一些数据库不支持自增主键的情况。

@Entity
public class Product {
   
    
    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE)
    private Long id;
    
    
}

4. GenerationType.TABLE

使用一个特定的数据库表来保存主键值,适用于跨数据库移植的情况。

@Entity
public class Product {
   
    
    @Id
    @GeneratedValue(strategy = GenerationType.TABLE)
    private Long id;
    

}

原文链接: https://blog.csdn.net/2401_82884096/article/details/138038443