Database/SQL
โจ ์ข์ ๊ด๊ณํ ๋ชจ๋ธ ์ค๊ณํ๊ธฐ 1. ๋ชจ๋ ํ
์ด๋ธ์ ๊ธฐ๋ณธ ํค๊ฐ ์๋์ง ํ์ธ ํ ํ
์ด๋ธ์ ์๋ ํน์ row์ ๋๋จธ์ง row๋ฅผ ๊ตฌ๋ณํ ์ ์์ด์ผ ํ๋ฏ๋ก ๋ชจ๋ ํ
์ด๋ธ์๋ ์ปฌ๋ผ ํ ๊ฐ ์ด์์ผ๋ก ๊ตฌ์ฑ๋ ๊ธฐ๋ณธํค(PK)๊ฐ ์์ด์ผ ํ๋ค. PK๋ row๋ง๋ค ์ ์ผํด์ผํ๋ฏ๋ก null ๊ฐ์ ๊ฐ์ง ์ ์์์์ ์ ์ธ ๊ฐ์ด์ด์ผ ํจ(๊ฐ์ ๊ฐฑ์ ํ ํ์ X)๊ฐ๋ฅํ ํ ๊ฐ๋จํ ํํ์ฌ์ผ ํจ ๐ ์ด๋ฐ ๋ชฉํ๋ฅผ ๋ฌ์ฑํ๋ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ = ์๋ฏธ ์๋ ์ซ์ ๋ฐ์ดํฐ๋ก ์๋ ์์ฑ๋๋ ์ปฌ๋ผ ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ์ ์ค์ํ๋ค = null์ด ์๋ ์ธ๋ํค(FK)๊ฐ ์ค์ ๋ ์์ ํ
์ด๋ธ์ ๊ฐ ๋ ์ฝ๋์ ์ผ์นํ๋ ๋ ์ฝ๋๊ฐ ๋ถ๋ชจ ํ
์ด๋ธ์ ์กด์ฌํจ๋ณตํฉ ๊ธฐ๋ณธํค๋ ์ฌ์ฉํ์ง ์๋ ๊ฒ์ด ์ข์PK๋ฅผ ์ ์ํ ๋ ๋๋ถ๋ถ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ
์ ํด๋น ์ปฌ๋ผ์ ์ ์ผ ์ธ๋ฑ์ค๋ฅผ ๊ฐ์ด ๋ง๋ ๋ค. ์ปฌ๋ผ ๋..
Database/JPA
[Failed to add the foreign key constraint. Missing index for constraint 'FKe6nwysthx2dnq1ikoe3u9gkxp' in the referenced table 'area'] ์ด ERROR๊ฐ ์ฐธ ๊ฑฐ์ฌ๋ ธ๋ค. ERROR์์๋ ๋ฐ์ดํฐ๊ฐ ์๋ง๊ฒ ๋ค์ด๊ฐ๊ธฐ ๋๋ฌธ์ด๋ค. ๋์ถฉ ์ด๋ค ์๋ฌ์ธ์ง๋ ํ์
ํ๋ค.area_code๊ฐ unique ์กฐ๊ฑด์ด ๊ฑธ๋ ค์์ง ์๊ธฐ ๋๋ฌธ์ FK ์ ์ฝ์กฐ๊ฑด์ ์์ฑํ ์ ์๋ค๋ ๊ฒ์ด๋ค. ์ด๋ค ์ํฉ์ธ์ง...Weather ์ํฐํฐ์ Area ์ํฐํฐ๊ฐ ์ผ๋์ผ ๋งคํ๋์ด์๊ณ ,referencedColumnName ์ต์
์ ์ค์ AREA_CODE๋ก Area ํ๋๋ฅผ ์ฐธ์กฐํ๋ค. @Entity@Table(name = "WEATHER")public class ..
Database/JPA
์คํ๋ง๋ถํธ ํ๋ก์ ํธ๋ฅผ ์คํ์ํค๋ฉด ์์ ๊ฐ์ WARN์ด ํ์๋๋ค. spring.jpa.open-in-view์ ๊ธฐ๋ณธ๊ฐ์ true์ด๋ฉฐ ํด๋นํ๋ WARN์ false ๊ฐ์ผ๋ก ์ง์ ํด์ฃผ๋ฉด ์์ด์ง๋ค.๋ฐฐํฌ์ฉ ์ชฝ yml ํ์ผ์ spring.jpa.open-in-view๋ฅผ false๋ก ํด์ฃผ์๊ณ , ๋ก์ปฌ ์ชฝ์๋ ๋ณ๋ค๋ฅธ ์ง์ ์ ํ์ง ์๊ณ ๋ฐฐํฌํ๋๋ ๋ฐฐํฌ ์ฌ์ดํธ์์ ๊ธ ์ ์ฒด๊ฐ ์กฐํ๋์ง ์๋ ์ํฉ์ด ๋ฐ์ํ๋ค. open-in-view:false ๋ฅผ ์ฃผ์์ฒ๋ฆฌํ๋ ๋คํํ ๊ธ ์ ์ฒด ์กฐํ๊ฐ ์ ์์ ์ผ๋ก ์๋ํ๋ค. open-in-view๊ฐ ๋ฌด์์ด๊ธธ๋ ์กฐํ์ ์ํฅ์ ๋ฏธ์น๋์ง ์์๋ณด๊ฒ ๋ค! ๋๋ณด๊ธฐ์์ ์ ๋ค์๋ ๊น์ํ ๊ฐ์ฌ๋์ '์ค์ ! ์คํ๋ง๋ถํธ์ JPA ํ์ฉ2 - API ๊ฐ๋ฐ ์ฑ๋ฅ์ต์ ํ' ๊ฐ์์์ ์น์
5 API ๊ฐ๋ฐ ๊ณ ๊ธ-์ค๋ฌด ํ์ ์ต์ ํ - '..
Database/JPA
JPA ์ํฐํฐ์์ ์์ฑ์๋ฅผ ์ฌ๋ฌ ๊ฐ ๋ง๋ค์ด ๋์ผ๋ฉด ๊ธฐ๋ณธ์์ฑ์(@NoArgsConstructor๋ฅผ ์ ์ํด์ผํ๋ค๋ ์ปดํ์ผ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.+ public, protected๋ก ์ ์ธํด์ผํจ !๊ธฐ๋ณธ ์์ฑ์๋ฅผ ์ ์ํด์ผํ๋ ์ด์ ๋ฅผ ์ ํํ๊ฒ ์ค๋ช
ํ ์ ์์ด์ ์ ๋ฆฌํ๋ ์๊ฐ์ ๊ฐ์ ธ๋ณด๊ฒ ๋ค. ๐ ๊ฒฐ๋ก ๋ถํฐ ๋งํ๋ฉด Java Reflection API์์ ๊ธฐ๋ณธ์์ฑ์๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ด๋ค. JPA๋ DB ๊ฐ์ ๊ฐ์ฒด ํ๋์ ์ฃผ์
ํ ๋, ๋์ ์ผ๋ก ์ํฐํฐ ํด๋์ค์ ์ธ์คํด์ค๋ฅผ ์์ฑํ ๋ ๊ธฐ๋ณธ์์ฑ์๋ก ๊ฐ์ฒด๋ฅผ ์์ฑํ ๋ Reflection์ ์ฌ์ฉํ๋ค๊ณ ํ๋ค. ์๋ฐ์์๋ Reflection์ด๋ผ๋ API๋ฅผ ์ ๊ณตํ๋๋ฐ, ๊ทธ๋ผ Reflection์ ๋ญ๊น.... Java Reflection์๋ฐ์์๋ Reflection์ด๋ผ๋ API๋ฅผ ์ ๊ณตํ๋ค. Re..