sm 기술 블로그
[스프링부트] ID와 GeneratedValue 본문
@Id
해당 변수가 테이블의 기본키(primary Key) 역할을 한다는 것을 나타낸다.
@GeneratedValue
기본키(primary Key)의 값을 위한 생성 전략을 명시하는데 사용.
(@Id 와 함께 엔티티 또는 매핑된 슈퍼클래스의 기본 키 속성 또는 필드에 적용할 수 있다.)
옵션
- generator : SequenceGenerator, TableGenerator에 지정된 대로 사용할 기본 키 생성기 이름을 지정하는 곳입니다. 기본값은 persistence가 제공하는 ID 생성기
- strategy : 엔티티의 기본키 생성 전략입니다. 기본값은 AUTO 입니다.
GenerationType
TABLE : 데이터 베이스에 키 생성 전용 테이블을 하나 만들고 이를 사용하여 기본키를 생성한다.
SEQUENCE : 데이터베이스의 특별한 오브젝트 시퀀스를 사용하여 기본키를 생성한다.
IDNETITY : 기본키 생성을 데이터베이스에 위임한다. 예를들어 MySQL의 경우 AUTO_INCREMENT를 사용하여 기본키 생성
AUTO : JPA 구현체가 자동으로 생성 전략을 결정
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
}
'스프링부트' 카테고리의 다른 글
[스프링 시큐리티] CSRF(cross site request forgery) (0) | 2022.07.23 |
---|---|
[스프링 시큐리티] 설치 및 설정 (0) | 2022.07.23 |
[스프링부트] @JsonIgnore (0) | 2022.07.17 |
[스프링부트] HttpServletRequest, HttpServletResponse (0) | 2022.07.17 |
[스프링부트] 로그인시 쿠키(Cookie)를 안쓰고 세션(HttpSession)을 사용하는이유 (0) | 2022.07.17 |
Comments