JPA主键生成策略 @GeneratedValue @SequenceGenerator @GenericGenerator

首先这个注解是jpa中的主键生成策略的注解,并且主要用在oracle中,

1.首先需要在实体类前面申明一个Sequence如下:
方法:@SequenceGenerator(name="SEQ_Name",sequenceName="SEQ_DB_Name")
参数注意:SEQ_Name:表示为申明的这个Sequence指定一个名称,以便使用
SEQ_DB_Name:表示为数据库中的Sequence指定一个名称。两个参数的名称可以一样。

Java代码   收藏代码
  1. @Entity  
  2. @SequenceGenerator(name="teacherSEQ",sequenceName="teacherSEQ_DB")  
  3. public class Teacher {  
  4. ……  
  5. }  


2.然后使用@GeneratedValue注解
方法:@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="SEQ_Name")
参数:strategy:固定为GenerationType.SEQUENCE
Generator:在实体类前面申明的sequnce的名称
Java代码   收藏代码
  1. @Entity  
  2. @SequenceGenerator(name="teacherSEQ",sequenceName="teacherSEQ_DB")  
  3. public class Teacher {  
  4.     private int id;  
  5.       
  6.     @Id  
  7.     @GeneratedValue(strategy=GenerationType.SEQUENCE,generator="teacherSEQ")  
  8.     public int getId() {  
  9.         return id;  
  10. }}  

你可能感兴趣的:(Hibernate)