[springboot] [intellij] [jpa] Cannot resolve table
JPA, Intellij 오류
▶ 1. 오류 현상
- 환경 : IIntelliJ idea, Spring boot, MySql, JPA
- 위와 같은 환경에서 작업 도중 다음과 같은 오류가 발생 하였다.
Cannot resolve table '테이블명'
- 위와 같은 에러 메세지를 무시하고 실행 해보아도 정상 동작 하는 것을 볼 수있다. 하지만 개발자라면 저런 오류 문구 하나에도 신경이 쓰이기 때문에 그냥 넘어 갈 수 없을 것이다.
▶ 2. 해결 방법
- 두가지 방법으로 해결 가능 하다.
1. 관련 벨리데이션 언체크하여 해결
" IntelliJ가 꼼꼼하게 검사를 해주고 있어 발생한다고 볼 수 있다. 너무 좋은 툴이다. "
※ 참고 :
intellij-support.jetbrains.com/hc/en-us/community/posts/206228849-JPA-Cannot-resolve-Table-xxxx-
- File > Setting > Editor > Inspection > JPA > Unresolved database references in annotations 체크 해제
- 여기까지만 해줘도 해결 되지만, DataSource를 추가해서 해결 하는 방법도 확인해 보자.
2. DataSource를 추가해서 해결
- 위의 이미지에서 확인할 수 있듯이 [Assign Data Sources] 즉 DataSource를 추가하여, 할당하여 해결하라는 가이드를 볼 수 있다.
- View > Tool Windows > Persistence
- 마우스 우클릭 > Assign Data Sources... 클릭
- 혹시 Data Source 관련 설정을 하지 않은 경우에는 다음과 같은 경고 메세지를 확인할 수 있다.
이런 경우엔 다음 작업부터 시작하여 추가해주면 된다.
[No data sources defined. Add data source from Database tool window first]
- View > Tool Windows > Database
- Data Source > 본인이 사용할 Sql 종류 선택
- Download missing driver files 클릭 및 접속 정보 입력.
- 다음과 같은 오류 발생하는 경우 다음 내용 참고.
[Server returns invalid timezone. Need to set 'serverTimezone' property.]
- Advanced > serverTimezone > "Asia/Seoul" 입력
- Test Connection > 정상 접속 확인 후 OK 클릭
- 관련 테이블 정보 매핑 가능.