์ฆ์ ๋ก๋ฉ → ์ํฐํฐ๋ฅผ ์กฐํํ ๋ ์ฐ๊ด๋ ์ํฐํฐ๋ฅผ ํจ๊ป ์กฐํ
์ฆ์ ๋ก๋ฉ ํ ์คํธ
@SpringBootTest
@TestPropertySource(locations = "classpath:application-test.properties")
@Transactional
class OrderTest {
/* ์ฝ๋ ์๋ต */
@Autowired
OrderItemRepository orderItemRepository;
@Test
void ์ฆ์_๋ก๋ฉ_ํ
์คํธ() {
Order order = this.createOrder();
Long orderItemId = order.getOrderItems().get(0).getId();
entityManager.flush();
entityManager.clear();
OrderItem orderItem = orderItemRepository.findById(orderItemId)
.orElseThrow(EntityNotFoundException::new);
System.out.println("Order class : " + orderItem.getOrder().getClass());
}
}
orderItem ๋ฐ์ดํฐ ์กฐํ ์, order_item ํ ์ด๋ธ๊ณผ item, orders, member ํ ์ด๋ธ์ ์กฐ์ธํด์ ํ๊บผ๋ฒ์ ๊ฐ์ ธ์ด
- ์ผ๋์ผ, ๋ค๋์ผ๋ก ๋งคํํ ๊ฒฝ์ฐ ๊ธฐ๋ณธ ์ ๋ต์ธ ์ฆ์ ๋ก๋ฉ์ ํตํด ์ํฐํฐ๋ฅผ ํจ๊ป ๊ฐ์ ธ์ด
- ์ฌ์ฉํ์ง ์๋ ๋ฐ์ดํฐ๋ ํ๊บผ๋ฒ์ ์กฐํํ๋ฏ๋ก ์ฑ๋ฅ ๋ฌธ์ ๋ฐ์ ๊ฐ๋ฅ
์ฆ์ ๋ก๋ฉ์ ์ฌ์ฉํ๋ ๋์ ์ ์ง์ฐ ๋ก๋ฉ ๋ฐฉ์์ ์ฌ์ฉํด์ผ ํจ. FetchType.LAZY
๋ฐฉ์์ผ๋ก ์ค์
OrderItem ํด๋์ค
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "item_id")
private Item item;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "order_id")
private Order order;
@Test
void ์ง์ฐ_๋ก๋ฉ_ํ
์คํธ() {
Order order = this.createOrder();
Long orderItemId = order.getOrderItems().get(0).getId();
entityManager.flush();
entityManager.clear();
OrderItem orderItem = orderItemRepository.findById(orderItemId)
.orElseThrow(EntityNotFoundException::new);
System.out.println("Order class : " + orderItem.getOrder().getClass());
System.out.println("=======================================");
orderItem.getOrder().getOrderDate();
System.out.println("=======================================");
}
orderItem ํ ์ด๋ธ๋ง ์กฐํ
orderItem.gerOrder().getClass();
๊ฒฐ๊ณผ- ์ค์ ๊ฐ์ฒด๊ฐ ์๋ ํ๋ก์ ๊ฐ์ฒด๋ฅผ ๋ฃ์ด๋
- ํ๋ก์ ๊ฐ์ฒด๋ ์ค์ ์ฌ์ฉ ์์ ์ ์กฐํ ์ฟผ๋ฆฌ๋ฌธ์ด ์คํ๋จ
728x90
'์คํ๋ง > ์ผํ๋ชฐ ํ๋ก์ ํธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ํ ์์ ํ๊ธฐ (0) | 2022.11.28 |
---|---|
Auditing (0) | 2022.11.27 |
์์์ฑ ์ ์ด (0) | 2022.11.26 |
์ฐ๊ด ๊ด๊ณ ๋งคํ (0) | 2022.11.25 |
ํ์ด์ง ๊ถํ ์ค์ ํ๊ธฐ (0) | 2022.11.24 |