참조
@GeneratedValue이란
@GeneratedValue(strategy = GenerationType.IDENTITY)
@GeneratedValue(strategy = GenerationType.SEQUENCE)
DB에서 sequence 객체를 활용하여 기본키를 생성
@SequenceGenerator 어노테이션과 함께 사용됨
예시 코드
@Entity
@SequnceGenerator(
name = "BOARD_PK_GENERATOR",
sequenceName = "BOARD_PK_SEQ",
initialValue = 1,
allocationSize = 50
)
public class Board {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "USER_PK_GENERATOR")
private Long id;
private String title;
private String content;
}
@GeneratedValue(strategy = GenerationType.TABLE)
키를 생성하는 테이블을 활용하는 방법(Sequence와 유사)
@TableGenerator 어노테이션과 함께 사용됨
예시 코드
@Entity
@TableGenerator(
name = "BOARD_PK_GENERATOR",
table = "BOARD_PK_SEQ",
pkColumnValue = "BOARD_SEQ",
allocationSize = 1
)
public class Board {
@Id
@GeneratedValue(strategy = GenerationType.TABLE, generator="BOARD_PK_GENERATOR")
private Long id;
private String title;
private String content;
}
@GeneratedValue(strategy = GenerationType.AUTO)