반응형
1) 각 엔티티에 해당하는 테이블 만들기.
2) Workbench 이용해서 foreign key 지정
3) @OneToMany라면 Many에 해당하는 쪽에서 One의 키를 가지고 있으므로
One의 객체들을 먼저 다 채워 주고, Many에서 그 객체를 찾아서 set 해준다.
4) read하는 방법은 가령 User로 부터 Category의 정보를 얻고자 한다면
User Entity -> OrderGroup -> OrderDetail -> Item -> Partner -> Category 이런식으로 타고 갈 수 있음.
한 명의 User가 여러개의 장바구니를 가지는데 장바구니 하나 당 여러개의 주문 내역이 있고
주문 내역 하나에는 하나의 아이템이 존재 ( 1 : N - N : 1) 이므로, 그 하나의 아이템에는 한명의 파트너가 존재
(한 명의 파트너가 여러개의 아이템을 갖는 것이지, 하나의 아이템은 한명의 파트너 뿐임.)
그리고 한 명의 파트너에게는 하나의 카테고리가 존재.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
@Test
@Transactional //테스트 시에만 발생하는 오류이므로 Transactional 어노테이션 추가
public void read(){
User user = userRepository.findByPhoneNumber("010-2222-1111");
user.getOrderGroupList().stream().forEach(orderGroup ->{
System.out.println("------------주문 묶음---------------");
System.out.println("묶음 가격 "+orderGroup.getTotalPrice());
System.out.println("------------주문 상세--------------");
orderGroup.getOrderDetailList().stream().forEach(orderDetail ->
{
System.out.println("주문 상품" + orderDetail.getItem().getName());
System.out.println("주문 상태" + orderDetail.getStatus());
System.out.println("아이템 파트너" + orderDetail.getItem().getPartner().getName());
});
});
Assertions.assertNotNull(user);
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none;color:white">cs |
반응형
'Spring' 카테고리의 다른 글
@Builder, @Accessors (0) | 2019.11.14 |
---|---|
@Configuration , @Create~ , @LastModified~ (0) | 2019.11.14 |
다양한 find 지원. (0) | 2019.11.10 |
@OneToMany (fetch type) , @ManyToOne (0) | 2019.11.10 |
ERD (0) | 2019.11.10 |