์ฐธ๋.
์ค๋ 5์๊ฐ ๋ ๋ ธ๋ค.
Pagination ์ฟผ๋ฆฌ๋ฅผ ๋ ๋ฆฌ๋ API์์ ๊ณ์ 500 ์๋ฌ๊ฐ ๋์ ๊ณ์ ๋ถ์ก๊ณ ์์๋ค.
๋นจ๋ ๋์ ์ง์ ์์ง๋ง ๋ถ๊ตด์ ์์ง๋ก ํด๊ฒฐํด๋ณด๋ฆฌ๋ผ ๋ค์งํ๊ณ 1์๊ฐ๋ง์ ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌํ๋ค ์ฆ๋ง.
๋ฌธ์ ์
๊ฒฐ๋ก ๋ถํฐ ๋งํ๋ฉด ์๋ฒ DB์ ์๋ชป๋ ๋ฐ์ดํฐ๊ฐ ๋ค์ด๊ฐ์์๋ค.
๋ฌธ์ ๋ JPA Enum ํ๋๊ฐ
@Enumerated(EnumType.STRING)
ใ ฃ์ด ์๋๋ผ, Ordinal๋ก ๋ค์ด๊ฐ ๋ฐ์ํ ๋ฌธ์ ๋ค.
์ง์ ํ Enum ์์๋ ์ด 4๊ฐ ์ด๋ฉฐ, ordinal์ ๋ฒ์๋ 0~3 ์ด๋ค.
4 ์ด์์ ์ซ์๋ ์์ด์๋ ์๋ ๋ฐ์ดํฐ๋ค.
๊ทธ๋์ ๊ณ์ ์ด๋ฐ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 4
์ฟผ๋ฆฌ๋ฅผ ๋ฐ์์์ผ ๋ฐ์ดํฐ๋ฅผ ๋งคํํ๋ ๊ณผ์ ์์ 5์ ordinal ์ด ์์ด index๋ฅผ 5๋ก ์ก์๋จ์ง๋ง, ๋งคํ์ ๋ชปํ๋ ๋ฐ๋์ ์ ๋ฐ ์์ธ๊ฐ ๋ฐ์ํ๋ค.

DB ๋ฐ์ดํฐ ์ค ์ซ์๊ฐ 5์ธ ๊ฒ์ ๊ฒจ์ฐ ๋ฐ๊ฒฌํ๊ณ , ์์ ํ๋ค.
๊ทผ๋ฐ, ์ ์๋ชป๋ ์ซ์๊ฐ ๋ค์ด์์ง?? ์์ง๋ ์๋ฌธ์ด๋ค..
๊ณ ์ฐฐ
ํ์ฐฝ JPA๋ฅผ ๊ณต๋ถํ๋ฉฐ ๊น์ํ๋์ ์ฑ ์ ์ฝ๊ณ , ๊ฐ์๋ฅผ ๋ค์ผ๋ฉฐ ๊ฐ์ด์ ์๊ธด ๋ง์ Enumerated String์ ์ฌ์ฉํ๋ผ๋ ๋ง์ธ๋ฐ,
๋ญ ๋ฌธ์์ด๋ก DB ์ ์ ์ฅํ๋ฉด ๋ญ ๊ฐ๋ ์ฑ ์ข๊ณ , ์ฝ๊ฒ ํ์ ๋๋ ์ข๊ฒ ์ง ํ๋ฉฐ ๋๊ฒผ๋ค.
ordinal๋ก ํ์ ๋์ ๋จ์ ์ ์ซ์์ด๊ธฐ์ ๊ฐ์ ์๋ฏธ๋ฅผ ๋ช ํํ๊ฒ ํ์ ํ๊ธฐ ํ๋ค์ด ๋จ์ํ ๊ฐ๋ ์ฑ์ด ์ข์ง ์๊ฒ ๊ตฌ๋๋ผ๊ณ ์๊ฐํ์๋ค.
ํ์ง๋ง ์๋ชป๋ ordinal ์ซ์ ๊ฐ์ด ๋ค์ด๊ฐ์ ๋๋, ์ด๋ฐ ์์ธ๊ฐ ๋ฐ์ํ ๊ฑฐ๋ผ๊ณ ์์์ ๋ชปํ๋ค.
๋ฌด์๋ณด๋ค ์๋ชป๋ ์ซ์๊ฐ ๋น์ฐํ ๋ค์ด๊ฐ๋ฆฌ ์๋ค๊ณ ์๊ฐํ๋ค.
์ค๋ ํ๋ ๋ฐฐ์ฐ๊ณ ๊ฐ๋๋ค.
์ฌ๋งํ๋ฉด String ์ ๋ต์ ์ด์ฉํ์ฌ ๋งคํํ๊ณ , DB์ ๋ฐ์ดํฐ๋ฅผ ํ๋ฒ ๋ ์ฒดํฌํด๋ณด์๋ผ๋ ๊ฒฐ๋ก ์ ์ป์๋ค.
๋ค์๋ ์ด๋ฐ ์ฝ์ง ์์์ผ์ง..
'๐ JPA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
MapStruct! JPA Entity ๋งคํ ๊ฐ ์ฃผ์ํด์ ์ฌ์ฉํ์ (0) | 2024.03.24 |
---|---|
JPA ์ง๊ณํจ์ sum ์ long ์ ๋ฐํํ๋ค. (0) | 2023.07.26 |
[Spring Data JPA] ํ๋ฐฉ ์ฟผ๋ฆฌ์ ํจ๋ฅ (feat : JPQL) (0) | 2023.02.01 |
[Spring Data JPA] Transaction ์์ด ์ฝ๊ธฐ (0) | 2023.01.30 |
JPA ๊ฐ๋ ์ ๋ฆฌ (0) | 2022.07.15 |