Spring Data JPA에서는 엔티티의 기본키를 @Id
를 사용해서 매핑한다.
기본키를 자동생성하는 방법에는 @GeneratedValue
에 붙이는 다음과 같이 4개가 있다.
auto_increment
와 같은 기능을 사용할 때 쓴다. @Entity
@SequenceGenerator(name = "MY_SEQ_GENERATOR", sequnceName = "MY_SEQ"
initialValue = 1, allocationSize = 1)
public class Board {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "MY_SEQ_GENERATOR")
private Long id;
}
@Entity
@TableGenerator(name = "MY_SEQ_GENERATOR", table = "MY_SEQUNCES"
pkColumnValue = "MY_SEQ", allocationSize = 1)
public class Board {
@Id
@GeneratedValue(strategy = GenerationType.TABLE, generator = "MY_SEQ_GENERATOR")
private Long id;
}
출처: https://feco.tistory.com/96 [wmJun]
package com.springboot.restfulboard.domain.posts;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import javax.persistence.*;
@NoArgsConstructor
@Getter
@Entity
public class Posts {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
}
}