dbqudgns249121
@dbqudgns249121
Reviews Written
4
Average Rating
4.3
Posts
Q&A
order.getOrderItems() ์ ํ๋ ์ ๊ทผ ์ํ๋๋ฐ select๋ฌธ์ด ๋๊ฐ๋ ์ด์
์ !! ์ดํด ์๋ฃํ์ต๋๋ค !!์ ์ ๊ฐ์ ๊ถ๊ธ์ฆ์ ๊ฐ์ง๊ณ ์์ผ์ค ๋ถ๋ค์ ์ํด ์๋์ ๊ฐ์ด ์ ๋ฆฌํ์์ต๋๋ค.order.getOrderItems().getXxx() ๋ฐ order.getOrderItems()๋ฅผ ํธ์ถํ์ง๋ ์์๋๋ฐ DB์ orderItem SELECT ์ ์ด ๋๊ฐ๋ ์ด์ ๋ ?์ผ๋จ, Jackson์ด JSON์ผ๋ก ์ง๋ ฌํ ํ ๋ "public getXxx()" ๋ฉ์๋๋ค์ ์ ๋ถ ๋ค์ ธ์ ๊ฐ์ ๊บผ๋ด์ต๋๋ค. @Getter๋ ํฌํจ์ ๋๋ค ! ๊ทผ๋ฐ orderItems, member, delivery๋ LAZY ์ค์ ์ด ๋์ด ์๊ธฐ ๋๋ฌธ์ SELECT ์ ์ด ๋๊ฐ์ง ์๋๊ฒ ์ ์์ ๋๋ค. ํ์ง๋ง, ์๋ ์ฝ๋๋ฅผ ๋ณด์๋ฉด Order ํด๋์ค์ getTotalPrice()์ ๋ฐ๋ณต๋ฌธ์ ํตํด orderItem์ ์ํํ๊ณ ์์ต๋๋ค. ์ด๋ก ์ธํด OrderItem์ ์กฐํํ๊ธฐ ์ํด SELECT์ ์ ๋ณด๋ด๋๊ฒ๋๋ค. public int getTotalPrice() { int totalPrice = 0; for (OrderItem orderItem : orderItems) { totalPrice += orderItem.getTotalPrice(); } return totalPrice; }๋ฐ๋ผ์ ์ ๋ฉ์๋์ @JsonIgnore์ ์ค์ ํ ์ Jackson์ ํด๋น ๋ฉ์๋๋ฅผ ๋ฌด์ํ๊ฒ ๋๋ฏ๋ก SELECT์ ์ด ๋๊ฐ์ง ์์ต๋๋ค. !! getTotalPrice()๋ฅผ @JsonIgnore ์ค์ ์ ํ์ง ์์์ SELECT์ ์ด ๋๊ฐ์์๋ ๋ถ๊ตฌํ๊ณ JSON ์๋ต ๊ฐ ์ด "orderItems" : null ์ธ ์ด์ ๋? ๋จผ์ Jackson์ด ๊ธฐ๋ณธ์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ ์์๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. getter ๋ฉ์๋ ์ค ํ๋กํผํฐ ๋ฉ์๋๋ค์ ๋จผ์ ์ฒ๋ฆฌํ๊ณ ๋ค์ getXxx๋ก ๋ช ์๋์ด ์๋ ๋ฉ์๋๋ค์ ์ฒ๋ฆฌํฉ๋๋ค. ๋ฐ๋ผ์, getOrderItems()๋ฅผ ๋ง๋ฌ๋๋ฐ LAZY ์ํ๋๊น null๋ก ์ง๋ ฌํ๋ฅผ ํฉ๋๋ค. ๊ทธ ๋ค์์์ผ getTotalPrice()๋ฅผ ํธ์ถํ๋ฉด์ OrderItems ์ปฌ๋ ์ ์ ์ด๊ธฐํํด์ SQL์ด ๋๊ฐ๋ ๊ฒ๋๋ค.
- 0
- 2
- 74
Q&A
๊ธ๋ก๋ฒ Validatior, Bean Validation
2๋ฒ์์ ๊ทธ๋ผ ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ ๋จ๊ณ์์ ํ๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ๊ธ๋ก๋ฒ Bean Validation์ด ์๋ํ๋ค๋ ์๋ฏธ๊ฐ ์๋๊ฐ์ ? ์ดํด๋ฅผ ๋ชปํ์ต๋๋ค..
- 0
- 2
- 162




