![[JPA] Identity전략, JdbcSQLFeatureNotSupportedException](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpzKzN%2FbtsnTCuMnah%2FwFfXWeEUPOFiABAPpAFKek%2Fimg.png)
[JPA] Identity전략, JdbcSQLFeatureNotSupportedExceptionlegacy/JPA2023. 7. 17. 11:09
Table of Contents
jpa에서 기본키 전략을 사용할 때 아래 코드를 사용할 것이다
@GeneratedValue(strategy = GenerationType.IDENTITY)
근데 기본키 전략을 사용할 때 숫자형 타입을 사용해야 한다.
String을 사용하지 말자
@Id
@Column(name = "id", length = 10)
@GeneratedValue(strategy = GenerationType.IDENTITY)
private String id;
기본키로 String 타입을 지정했었는데 아래의 오류가 발생했다.
ddl에 문제가 있음을 알 수 있다.
위의 오류에 대해서 검색해보니 기본키 전략을 사용할 때 숫자 타입 Long을 사용해야 한다고 한다.
@GeneratedValue 사용 후 DDL 실패 - 인프런 | 질문 & 답변
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼
www.inflearn.com
기본키로 Long을 사용하자
정상적으로 ddl이 수행됨을 알 수 있다.
@Id
@Column(name = "id", length = 10)
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
결론
기본키 전략을 사용할 때는 Long을 사용하자.