IntelliJ IDEA๋ฅผ ์ฌ์ฉํ์ฌ Java Persistence API(JPA)๋ฅผ ํ์ฉํ๋ ๊ฐ๋ฐ์๋ผ๋ฉด, ์ํฐํฐ์ ์ปฌ๋ผ์ด๋ ํ
์ด๋ธ๋ช
์ ๋ณ๊ฒฝํ ๋ ๋ํ๋๋ Cannot resolve column
๊ฐ์ ๊ฒฝ๊ณ ์ ์ต์ํ ๊ฒ์
๋๋ค. ์ด๋ฌํ ๊ฒฝ๊ณ ๋ ์ฝ๋์์๋ ๋ฌธ์ ๊ฐ ์์์๋ ๋ถ๊ตฌํ๊ณ , IDE์์ ๋นจ๊ฐ์ ๊ฒฝ๊ณ ์ ์ ํ์ํ์ฌ ๋ถ์์ ํ ์ฝ๋์ฒ๋ผ ๋ณด์ด๊ฒ ๋ง๋ญ๋๋ค. ์ด๋ ํนํ git push์ ๊ฐ์ ๋ฒ์ ๊ด๋ฆฌ ์์
์ ํ ๋ ๋ถํ์ํ ์คํธ๋ ์ค๋ฅผ ์ค ์ ์์ต๋๋ค. ์ค๋์ ์ด๋ฌํ ๋นจ๊ฐ์ค ๊ฒฝ๊ณ ๋ฅผ ํด๊ฒฐํ๋ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ ์๊ฐํ๋ ค๊ณ ํฉ๋๋ค.
1. ๋๋ถ๋ถ์ ํด๊ฒฐ ๋ฐฉ๋ฒ: IntelliJ ์ค์ ๋ณ๊ฒฝํ๊ธฐ
๋๋ค์์ ๋ธ๋ก๊ทธ๋ ํฌ๋ผ, ์ฌ์ง์ด StackOverflow์์๋ ๊ฐ์ฅ ๋จผ์ ๊ถ์ฅํ๋ ๋ฐฉ๋ฒ์ IntelliJ์ ํน์ ์ต์ ์ ๋นํ์ฑํํ๋ ๊ฒ์ ๋๋ค. ์ด ๋ฐฉ๋ฒ์ IDE๊ฐ ์ํํ๋ ์ฝ๋ ๋ถ์ ์ค ๋ฐ๊ฒฌ๋ ๋ฌธ์ ๋ค์ ์ผ์์ ์ผ๋ก ๋ฌด์ํ๊ฒ ๋ง๋ญ๋๋ค.
ํด๋น ์ต์ ์ ๋นํ์ฑํํ๋ ๊ฒฝ๋ก๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
โผ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ๋ก๋ก ํด๋น ์ต์ ์ ๊บผ์ค๋๋ค.
File > Settings > Editor > Inspections > JPA > Unresolved database reference in annotations
ํด๋น ์ฒดํฌ๋ฅผ ๊บผ์ ํด๊ฒฐํ๋ค.
์ด ์ค์ ์ ๋นํ์ฑํํ๋ฉด IntelliJ๋ JPA ์ํฐํฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง ๊ฐ์ ๋ถ์ผ์น์ ๋ํด ๋ ์ด์ ๊ฒฝ๊ณ ํ์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด ๋ฐฉ๋ฒ์ ํฐ ๋จ์ ์ ์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง์์ ๋ถ์ผ์น๋ฅผ ๋์น ์ ์๋ค๋ ๊ฒ์
๋๋ค.
์๋ชป๋ ํ
์ด๋ธ๋ช
์ด๋ ์ปฌ๋ผ๋ช
์ ๋ฐํ์ ์ค๋ฅ๋ก ์ด์ด์ง ์ ์๊ธฐ ๋๋ฌธ์, ์ด ๋ฐฉ๋ฒ์ ์์์ ์ธ ํด๊ฒฐ์ฑ
์ผ ๋ฟ์
๋๋ค.
2. ๊ถ์ฅํ๋ ํด๊ฒฐ ๋ฐฉ๋ฒ: ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ ํ์ธ
์ ๊ฒฝํ์ ๋ฐ๋ฅด๋ฉด, IntelliJ์์ ์ ๊ณตํ๋ ์ค์ ์ ๋ณ๊ฒฝํ๋ ๊ฒ๋ณด๋ค ๋ ๊ทผ๋ณธ์ ์ธ ํด๊ฒฐ์ฑ ์ด ์์ต๋๋ค. ์ด ๋ฐฉ๋ฒ์ IntelliJ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ ๊ธฐ๋ฅ์ ํ์ฉํ๋ ๊ฒ์ ๋๋ค.
(https://stackoverflow.com/questions/43739438/how-to-fix-error-cannot-resolve-column) ์ฐธ๊ณ
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ ์ค์ ํ๊ธฐ
View > Tool Windows > Database
๋ก ์ด๋ํฉ๋๋ค.
- ์ฌ๊ธฐ์ ์ ์ ํ ํ configure the db connection ๋ฒํผ์ ๋๋ฅด๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ์ ์ค์ ํฉ๋๋ค.
์ด ๊ณผ์ ์ ํตํด ํ๋ก์ ํธ์ ์ฌ์ฉ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ง์ ์ฐ๊ฒฐํ๋ฉด, IntelliJ๋ ์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฝ๋๋ฅผ ๋ถ์ํ๊ฒ ๋ฉ๋๋ค. ๋๋ถ๋ถ์ ๊ฒฝ์ฐ, ์ด ๋ฐฉ๋ฒ๋ง์ผ๋ก๋ ๋นจ๊ฐ์ ๊ฒฝ๊ณ ๊ฐ ์ฌ๋ผ์ง๋๋ค.
3. ์์ธ์ ์ธ ๊ฒฝ์ฐ: ์ํฐํฐ์ ์ ํํ ํ ์ด๋ธ๋ช ๋ช ์ํ๊ธฐ
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ์ ํ์ธํ์์๋ ๋ถ๊ตฌํ๊ณ ์ฌ์ ํ ๊ฒฝ๊ณ ๊ฐ ์ฌ๋ผ์ง์ง ์๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค.
์ด๋ ๋ด๊ฐ ์ค์ ๋ก ์ง๋ฉดํ๋ ์ํฉ์ด๊ธฐ๋ ํ๋ฉฐ, ๋ธ๋ก๊ทธ์ ๊ธ์ ์ฐ๋ ์ด์ ์ด๊ธฐ๋ ํฉ๋๋ค
์ด์๋ํด ์ ๋ ๋ค์๊ณผ ๊ฐ์ ํด๊ฒฐ์ฑ
์ ์ฐพ์์ต๋๋ค.
์ด ๋ฌธ์ ์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ํด๊ฒฐ์ฑ
์ ์ํฐํฐ์ ์ ํํ ํ
์ด๋ธ ์ด๋ฆ์ ๋ช
์ํ๋ ๊ฒ์
๋๋ค. ์๋ฅผ ๋ค์ด, INQUIRY_ANSWER
๋ผ๋ ์ด๋ฆ์ ํ
์ด๋ธ์ ๋งคํ๋์ด์ผ ํ๋ ์ํฐํฐ ํด๋์ค๊ฐ ์๋ค๋ฉด, ํด๋์ค ์ ์ธ ๋ถ๋ถ์ @Table(name = "INQUIRY_ANSWER")
์ด๋
ธํ
์ด์
์ ์ถ๊ฐํด์ผ ํฉ๋๋ค.
import javax.persistence.Entity;
import javax.persistence.Table;
@Entity
@Table(name = "INQUIRY_ANSWER")
public class InquiryAnswer {
// ํด๋์ค ํ๋์ ๋ฉ์๋ }
์ด๋ ๊ฒ ํ๋ฉด IntelliJ๊ฐ ์ํฐํฐํด๋์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ํํ ๋งค์นญ์ ํ ์ ์๊ฒ ๋์์ค ๋งคํ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง ์๊ฒ ๋ฉ๋๋ค.
IntelliJ IDEA์์ JPA๋ฅผ ์ฌ์ฉํ ๋ ๋ฐ์ํ๋ Cannot resolve column
๊ฒฝ๊ณ ๋ฅผ ํด๊ฒฐํ๋ ๋๊ฐ์ง ๋ฐฉ๋ฒ์ ๋ํด ์์๋ดค๋๋ฐ,
๊ฐ์ธ์ ์ผ๋ก๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ์ ํ์ธํ๊ณ ํ์ํ ๊ฒฝ์ฐ ์ํฐํฐ์ ์ ํํ ํ
์ด๋ธ๋ช
์ ๋ช
์ํ๋ ๋ฐฉ๋ฒ์ ๊ถ์ฅํฉ๋๋ค.
์ด๋ฌํ ์ ๊ทผ ๋ฐฉ์์ ์ฅ๊ธฐ์ ์ผ๋ก ๋ ์์ ์ ์ธ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ์ ์งํ๋ ๋ฐ ๋์์ด ๋ ๊ฒ์ด๋ผ ์๊ฐํฉ๋๋น.