강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

nickheatlhy님의 프로필 이미지
nickheatlhy

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

실전 예제 1 - 요구사항 분석과 기본 매핑

어플리케이션 실행 오류(@GeneratedValue 어노테이션 관련)

작성

·

150

0

안녕하세요. 강의대로 실시간으로 따라 치면서 어플리케이션을 실행시켰는데 다음과 같은 오류가 발생했습니다.

image

 

그래서 코드를 아래와 같이 수정했는데 실행이 잘 되었습니다.

어떤 이유에서 안된 것인지.. 영한님께서는 왜 성공하셨는지 궁금합니다.

@GeneratedValue(strategy = GenerationType.IDENTITY)

답변 2

0

안녕하세요. H N님, 공식 서포터즈 David입니다.

Hibernate 버전이 변경됨에 따라 Auto 전략이 기존과 다르게 동작하는 경우가 있습니다.

따라서, Auto가 아닌 Identity로 변경하여 실행하시면 됩니다:)

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다.

H N님께서 겪고 계신 문제는 @GeneratedValue 어노테이션 사용 시 발생한 문제로 보입니다. 이 오류는 주로 데이터베이스 및 Hibernate의 ID 생성 전략 설정과 관련이 있습니다.

발생한 문제

  1. MappingException: entity-name에 대한 ID 생성기를 인스턴스화할 수 없다는 메시지입니다. 이는 @GeneratedValue의 전략 설정이 데이터베이스와 호환되지 않기 때문일 수 있습니다.
  2. HibernateException: 데이터베이스로부터 시퀀스 정보를 가져올 수 없다는 메시지로, 이는 기본 시퀀스 전략을 사용할 수 없는 환경일 때 발생할 수 있습니다.
  3. JdbcSQLSyntaxErrorException: “start_value”라는 컬럼을 찾을 수 없다는 SQL 구문 오류로, 이는 시퀀스 관련 설정 문제로 인해 발생할 수 있습니다.

해결 방법

  • GenerationType.IDENTITY 사용: IDENTITY 전략은 데이터베이스가 자동으로 증가된 ID를 제공하도록 하는 방식입니다. 이 방법은 데이터베이스에서 각 INSERT 시점에 고유 ID를 생성하므로, 별도의 시퀀스 설정이 필요 없습니다.

관련 질문 및 추가 학습 자료

추가적으로 H2 데이터베이스가 최신 버전이 맞는지, 그리고 설정 파일(application.properties 또는 application.yml)에서 Hibernate 관련 설정이 잘 되어 있는지 확인해보시는 것도 좋습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

nickheatlhy님의 프로필 이미지
nickheatlhy

작성한 질문수

질문하기