SPRING/접했던 오류

H2 db - 예약어

고민말고생각하는사람 2024. 8. 7. 01:52

상황

회원 가입 예제 코드 직접 작성 중 h2 db와 연동 후 작업하자 계속해서 에러 발생

 

문제

- bad gramer

- sql exception

- 그 외 기타 등등 수 많은 오류 발생

* 접했던 오류들 외. 테이블 작성 자체가 안 되거나, from user 했을 때 접근 자체가 안 되는 등.

 

문제 발생 지점

- H2 DB 내 테이블을 정의할 때 'User' 테이블 작성

 

발생 원인

H2 DB 에서 'User' 는 예약어로 지정 돼 있어, 지정된 사례 외엔 사용할 수 없어 에러 발생

 

회피 방법

1. User -> Users 로 테이블명 변경

=> 정상 동작 하나, 코드 작성 시 착각 및 오 입력이 잦아 휴먼에러가 발생하기 쉽다는 것을 몸소 체험함.

 

2. User 가 아닌 Member 사용

=> 1. 의 방법은 굉장히 불안정한 방법이었음. 사고를 미연에 방지하기 위해 변수명을 변경.

 

결론

예약어와 비슷한 단어 사용을 피하자.