• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

환결설정 질문입니다.

24.05.12 00:10 작성 조회수 56

0

https://www.inflearn.com/questions/979214/hello-unittest%EC%97%90%EB%9F%AC

와 같은에러가 납니다. 코드도 같아요. 현재 프로젝트 환경설정 부분중이구요. 그런데 답변에서 시퀀스를 생성하라는데 어떻게 하는건가요? 강의 교재에서도 HELLO_SEQ 이런단어는 없고 제 인텔리제이에도 이런단어는 없습니다.

답변 2

·

답변을 작성해보세요.

0

OMG님의 프로필

OMG

2024.05.12

안녕하세요. zzzzz님, 공식 서포터즈 OMG입니다.

Hello 클래스의 @GeneratedValue 어노테이션을

@GeneratedValue(strategy = GenerationType.SEQUNCE)

로 변경하여 확인해보시겠어요? 강의 제작시점에는 문제가 없었으나

스프링부트 버전이 올라감에 따라 연관된 모듈/라이브러리/툴 등의 버전이 변경 되어 발생한 문제로 예상이 됩니다

키 생성 전략을 SEQUENCE로 지정할 경우, 테이블명(=클래스명)_SEQ가 자동으로 생성되는데요. 이 부분에서 HELLO_SEQ가 생성되지 않아 발생한 오류메시지이고, 이를 해결하기 위한 어노테이션 수정 방법을 설명드린 것으로 이해하시면 될 것 같습니다.

해결이 안될 경우 댓글 남겨주세요 😀

감사합니다.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.05.12

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

zzzzz님의 질문과 관련하여, Querydsl 강의의 환경 설정 중 발생한 오류와 관련된 질문으로 이해했습니다. 시퀀스 생성에 대한 요청이 있으셨는데, 이와 유사한 문제로 다른 학습자분께서도 질문을 하셨고, 해당 질문의 답변이 zzzzz님의 문제 해결에 도움이 될 것 같습니다.

링크된 질문에서 [hello unittest에러](https://www.inflearn.com/questions/979214/hello-unittest%EC%97%90%EB%9F%AC)라는 제목의 질문에 대한 답변으로, H2 데이터베이스에서 HELLO_SEQ 시퀀스를 찾을 수 없어 발생한 오류로 보입니다. 이는 일반적으로 엔티티에 @GeneratedValue를 사용하여 ID를 생성할 때 시퀀스를 사용하는 방식과 관련이 있는데, 데이터베이스에 해당 시퀀스가 명시적으로 생성되어 있지 않으면 오류가 발생할 수 있습니다.

시퀀스 생성 방법에 대해 말씀드리면, 보통 H2 데이터베이스를 사용하는 경우, 데이터베이스를 초기화하는 시점에 schema.sql 파일에 시퀀스 생성 관련 SQL 문을 작성하여 자동으로 시퀀스를 생성할 수 있습니다. 예를 들어,

CREATE SEQUENCE IF NOT EXISTS HELLO_SEQ START WITH 1 INCREMENT BY 1;

이외에도, 적절한 시퀀스 생성 방식은 사용하시는 JPA 구현체(예: Hibernate)와 데이터베이스의 종류에 따라 다를 수 있습니다. 따라서, 강의 내용에서 제공된 프로젝트 설정 또는 데이터베이스 초기화 방식을 참고하여 해당 시퀀스를 생성해 보시기 바랍니다.

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