์ด์ ๋
ธ์
๋ธ๋ก๊ทธ์ enum ํ๋๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ๊ธฐ (2022.02.20)๋ก๋ถํฐ ๋ง์ด๊ทธ๋ ์ด์
๋ ๊ธ์
๋๋ค. public enum Tier { BRONZE, // 0 SILVER, // 1 GOLD, // 2 DIAMOND // 3 } @Entity public class User { @Enumerated(EnumType.ORDINAL) // Default Setting private Tier tier; } enum์ ordinal ๊ฐ์ 0๋ถํฐ ์์ BRONZE : 0 SILVER : 1 ... Default Setting์ธ @Enumerated(EnumType.ORDINAL) ์ enum์ ordinal ๊ฐ์ DB์ ์ ์ฅ ⇒ Integer ํ๋์ฒ๋ผ ์ค๋ฆ์ฐจ์, ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํ๋ฉด ๋จ.
๐ค Backend/SpringBoot
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FU6bId%2FbtsFhUeFGd3%2F1xTHJyf3MIX21KmR5fCJSK%2Fimg.jpg)
์ด์ Velog์ ์ธ๋ถ ์๋น์ค ์์ฒญ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ๋ฆฌ๋ทฐ ์
๋ก๋ ์์ฒญ ๊ฒฐ๊ณผ๊ฐ ๋ฌ๋ผ์ง๋ ๊ฐ๊ฒฐํฉ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ ํด๋ณด์. (2023.11.02) ๋ก๋ถํฐ ๋ง์ด๊ทธ๋ ์ด์
๋ ๊ธ์
๋๋ค. ๋๊ธฐ ๋ฆฌ๋ทฐ๋ ๋ณธ ํ๋ก์ ํธ์ ํต์ฌ์ผ๋ก์, ์ต๋ํ ๋ง์ ๋ฆฌ๋ทฐ๋ฅผ ์
๋ ฅ๋ฐ๊ณ ์ด๋ฅผ ๋ถ์ํด ๊ฐ์น์๋ ์ ๋ณด๋ฅผ ์ ๊ณตํ๊ณ ์์ต๋๋ค. ์ด๋ฌํ ๋ฆฌ๋ทฐ์ ์
๋ก๋๋ ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ์ ํตํด ์งํ๋ฉ๋๋ค. AWS S3๋ฅผ ํตํ ์ฌ์ง ์
๋ก๋์ AI ๋ฆฌ๋ทฐ ๋ถ์ ๋ชจ๋ธ์ ํตํ ๋ฆฌ๋ทฐ ๋ถ์ ์์ฒญ์ด๋ผ๋ 2๊ฐ์ ์ธ๋ถ ์๋น์ค๋ฅผ ๊ฑฐ์น ํ ในใ
ฃ๋ทฐ ๋ฐ์ดํฐ๊ฐ DB์ ์ ์ฅ๋ฉ๋๋ค. ์ฆ, ๋๊ธฐ๋ก ์๋ํ๊ณ ํ๋์ ํธ๋์ญ์
์ผ๋ก ๋ฌถ์ด๊ธฐ ๋๋ฌธ์, ํด๋ผ์ด์ธํธ๊ฐ ๋ฆฌ๋ทฐ๋ฅผ ์
๋ก๋ํ ๋ ์ธ ๊ฐ์ง ๊ณผ์ ์ด ๋ชจ๋ ์๋ฃ๋๋ ๊ธด ์๊ฐ์ ๊ธฐ๋ค๋ ค์ผ ํ๊ณ ์ธ๋ถ ์๋น์ค ์ค ํ๋๋ผ๋ ์คํจํ๋ฉด ๋ฆฌ๋ทฐ ์
๋ก๋๊ฐ ์คํจํ๋ ๊ฐ๊ฒฐํฉ ๊ตฌ์กฐ์ด๋ค. ..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcvWNH7%2FbtsEFRxuUjF%2FvJLuhTrCwVkUOVbTV72FWK%2Fimg.png)
๋ฌธ์ ํ์
๋ณดํต ์คํ๋ง์ ๋๋ฒ๊น
ํ ๋ SQL ์ฟผ๋ฆฌ ๋ก๊ทธ๋ฅผ ํ์ธํ๋ ์ ์์ ๋๋์ง๋ง, ์ข
์ข
DataSource๋ DDL ์ด ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ฑฐ๋ ์์ํ์ง ๋ชปํ ๊ฐ์ด DB์์ ๊ด์ธก๋ ๋๋ SQL ์ฟผ๋ฆฌ์ ํฌํจ๋ ๊ฐ์ ํ์ธํ ํ์๊ฐ ์๋ค. ํ์ง๋ง ์ฐ๋ฆฌ๋ Hibernate ORM์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ SQL ์ฟผ๋ฆฌ์๋ ๋ฐ์ธ๋ฉ๋๊ธฐ ์ ์ ์ฟผ๋ฆฌ๋ง ๋ณผ ์ ์๋ค. ์ด๋ ํ์ํ ๊ฒ์ด binding parmater๋ฅผ ์ถ์ ํ๋ ๊ฒ์ธ๋ฐ, ์ฒ์ ์คํ๋ง์ ๋ฐฐ์ธ ๋ ๋ฐฐ์ด ๋ฐฉ๋ฒ์ด ์๋ํ์ง ์์๋ค. (application.properties) logging: level: org: hibernate: type: trace ์ด์ ์ ์งํํ ํ๋ก์ ํธ์์ ๋๊ฐ์ด ์คํํ๋ฉด ์ ์์ ์ผ๋ก ์คํ๋๋ค. ํธ๋ฌ๋ธ ์ํ
๋ฌธ์ ์์ธ ๋ถ์ ํ ํ๋ก์ ํธ์ ์ด์ ํ๋ก์ ํธ ์ฐจ์ด๋ผ..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNCfud%2FbtsD3lRDwDM%2FTJg4IRXDdkabAjJeajbL5k%2Fimg.png)
@DataJpaTest๋ฅผ ์ด์ฉํ Repository ํ
์คํธ ์ค ๋ณธ ์ดํ๋ฆฌ์ผ์ด์
์คํ์์ ๋ฐ์ํ์ง ์๋ DDL์์ ์์ธ๊ฐ ๋ฐ์ํ๋ค. H2 ↔๏ธ MySQL ๋ฌธ๋ฒ ์ฐจ์ด๋ก ์ธํด ํ
์ด๋ธ์ด ์ ๋๋ก ์์ฑ๋์ง ์๋ ๊ฒ์ผ๋ก ๋ณด์ฌ์ application-test.properties ๋ฅผ ๊ณ์ ์์ ํ์ง๋ง ํด๊ฒฐ๋์ง ์์๋ค. ๋ฌธ๋, ์ง๋ ๋ฒ์๋ @DataJpaTest ํ
์คํธ์์ ๋ฐ์ํ๋ ์๋ฌ๋ฅผ @AutoConfigureTestDatabase์ผ๋ก ํด๊ฒฐํ ๊ธฐ์ต์ด๋์ ์๋ํ์๊ณ ํด๊ฒฐ๋์๋ค. ๊ทธ๋๋ ๋๋ฒ๊น
๊ณผ์ ๊ธฐ๋ก์ ๋ฏธ๋ค๋๊ณ ์์๋๋ฐ, ์ด ์ฐธ์ ๋ธ๋ก๊น
ํ๊ณ ์ฅ๊ธฐ ๊ธฐ์ต์ผ๋ก ๊ฐ๋ณด์. ๋ฌธ์ ๋ถ์ ์๋ํ ๋๋ง๋ค ๋ค์ํ ์์ธ๊ฐ ๋ฐ์ํ๊ณ ์ธํฐ๋ท์๋ ๋ค์ํ ์์ธ ์ผ์ด์ค๊ฐ ์๋๋ฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค์ ๋ฌธ์ ์ด๊ฑฐ๋ DDL ํน์ SQL ๋ฌธ๋ฒ ์ค๋ฅ๋ค. ๊ณตํต์ ..