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

김병곤님의 프로필 이미지

작성한 질문수

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

38강. profile과 H2 DB

user 오류

작성

·

99

0

NON_KEYWORDS=USER을 추가해도 이렇게 뜨는데 어떻게 해야할까요?

답변 2

0

최태현님의 프로필 이미지
최태현
지식공유자

안녕하세요 병곤님! 🙂 질문 주셔서 감사합니다.

에러 내용이 현재 일부만 보이고 있어, 전체 로그를 주시면 확인해볼 수 있을 것 같습니다.

아마도 ddl-auto 옵션과 관련 있어 보이긴합니다!

감사합니다.

0

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

김병곤님의 문제와 매우 유사한 상황을 해결한 기존의 질문과 답변이 있어 이를 안내드립니다.

관련 질문:

  • 도서관 애플리케이션 실행 오류: 도서관 애플리케이션을 실행하는 도중, drop table if exists user cascade와 관련된 JdbcSQLSyntaxErrorException 오류를 경험한 상황이 설명됩니다. 해당 문제는 H2 데이터베이스에서 예약된 키워드인 ‘user‘를 테이블 이름으로 사용하려고 할 때 발생합니다.

관련 답변 요약:

  • user는 H2 데이터베이스의 예약된 키워드입니다. 이 예약어를 테이블 이름으로 사용하려고 할 때 동일한 문제가 발생할 수 있습니다.
  • 데이터베이스에서 테이블 이름으로 예약어를 사용하려면, 해당 이름을 따옴표로 감싸거나, 다른 이름을 사용해야 합니다. 예를 들어, User 클래스에 @Table(name="UERS") 애노테이션을 추가하는 것도 한 가지 방법입니다.

추천 조치:

  • src/main/java/com/group/libraryapp/domain/user/User 클래스에서 @Table(name="USERS")와 같이 테이블 이름을 지정해 주세요. 따옴표를 사용하여 데이터베이스에 이것이 식별자로 처리되어야 함을 명시하거나, 다른 이름으로 변경하는 것도 해결책일 수 있습니다.

이렇게 변경해도 문제가 지속된다면, application.yml 파일에서 설정한 spring.datasource.url 내의 NON_KEYWORDS=USER 설정이 정확히 적용되었는지, 다시 한번 확인 부탁드립니다. 또한, 사용 중인 Spring Boot와 JDBC의 설정도 검퇴해보는 것이 좋습니다.

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