일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- AOP
- 김영한
- springdatajpa
- db
- Servlet
- SpringBoot
- 스프링 핵심 기능
- 그리디
- java
- Android
- kotlin
- jpa
- transaction
- Thymeleaf
- QueryDSL
- http
- Greedy
- 알고리즘
- 스프링 핵심 원리
- Exception
- 백준
- 자바
- pointcut
- Spring Boot
- JDBC
- 스프링
- Proxy
- spring
- 인프런
- JPQL
- Today
- Total
목록@ManyToOne (6)
개발자되기 프로젝트
1. 엔티티 주문과 배송은 1:1 상품과 카테고리는 N:M 2. ERD ORDERS와 DELIVERY 관계에서 FK는 ORDRES에서 관리. ORDER가 주 TABLE 다대다는 일대다, 다대일 관계로 풀어야함. 중간 테이블 필요. 3. 엔티티 상세 4. 코드 Delivery @Entity public class Delivery { @Id @GeneratedValue private Long id; @OneToOne(mappedBy = "delivery") private Order order; private String city; private String street; private String zipcode; private DeliveryStatus status; } Category - 다대다 매핑은 사..
1. 연관관계 매핑 시 고려사항 3가지 다중성 : 데이터베이스의 다중성기준으로 생각 다대일 : @ManyToOne ->제일 많이 씀 일대다 : @OneToMany 일대일 : @OneToOne 다대다 : @ManyToMany -> 쓰지마! 멈춰! ->일대다, 다대일로 풀어서 사용. 단방향, 양방향 테이블 - 외래 키 하나로 양쪽 조인 가능 - 방향이라는 개념이 없음 ㅋㅋㅋ 객체 - 참조용 필드가 있는 쪽으로만 참조 가능. - 한쪽만 참조하면 단방향 - 양쪽이 서로 참조하면 양방향. 연관관계 주인 테이블은 외래 키 하나로 두 테이블이 연관관계 맺음 객체 양방향 관계는 A->B, B->A 처럼 참조 두개 객체 양방향 관계는 참조가 2군데 있음. 둘 중 테이블의 외래키를 관리할 곳 지정 필요 연과관계 주인 : ..
1. 단방향, 양방향 매핑 단방향 연관관계를 양방향으로 바꿔도 table은 변화가 없다. MEMBER은 TEAM_ID(FK)와 TEAM의 PK를 Join 반대로 TEAM은 TEAM_ID(PK)와 MEMBER의 FK와 Join하면됨 즉!!!!!!!!! TABLE은 FK하나로 양방향으로 매핑이 된다!!!! 방향의 개념보다는 FK하나로 양쪽이 연관관계가 생김. 근데 객체는 그렇지 않다. 따라서 Team객체에 List가 있어야 양쪽으로 가능함. @OneToMany(mappedBy = "team") //일대다 매핑에서 나는 뭐랑 연결되어있지? Member 클래스의 Team 필드명. private List memberList = new ArrayList(); Test - Member에 setTeam을 통해 연관관계..
1. 목표 객체와 테이블 연관관계의 차이를 이해 객체의 참조와 테이블의 외래 키를 어떻게 매핑? 객체는.. 레퍼런스임.. object.get~ 인 반면에 테이블은 나랑 연관된 애를 찾을 때 외래키(FK)를 활용. 2. 용어 방향(Direction) : 단방향, 양방향 다중성(Multiplicity) : 다대일, 일대다, 일대일, 다대다 연관관계 주인(Owner) : 객체 양방향 연관관계는 관리 주인이 필요해! 3. 연관관계가 필요한 이유. 객체지향 설계의 목표는 자율적인 객체들의 협력 공동체를 만드는 것 - 객체지향의 사실과 오해 - 4. 예제 시나리오 회원과 팀이 있다. 회원은 하나의 팀에만 소속될 수 있다. 회원과 팀은 다대일 관계다. 5. 객체를 테이블에 맞춰서 모델링 하면..? 객체를 테이블에 맞..
다른 entiry에 대해서도 연관관계를 맺어주자. 1. Book 1) Book : Review = 1 : N --> @OneToMany -->중간 table 만들지 않기 위해 @JoinColumn필수 @JoinColumn(name = "book_id") --> name = "one_PK", 현재 class의 PK를 many의 FK로. List reviews = new ArraryList(); --> Null Point Exception방지를 위해 생성. 2) Book : Publisher = N : 1 --> @ManyToOne @Entity @NoArgsConstructor @Data @EntityListeners(value = AuditingEntityListener.class) @ToString(c..
1 : N 연관관계 - 1 이전에 만들어둔 User entity와 User History는 1:N연관관계를 갖는다. User는 현재 회원정보를 가지고 있는 테이블이고 UserHistory는 특정 user id에 저장된 값이 변경된 내역을 저장하는 table이다. 1. test @.. bsh-developer.tistory.com 앞서 1 : N의 연관관계를 살펴보았다. 1 : N 관계를 이해하기 어려웠던 이유는 N(many)쪽에서 1(one)의 PK를 FK로 가지고 있었기 때문이다. 일반적으로는 @ManyToOne이 깰끔하게entity를 구성할 수 있따. 해당 entity가 필요로 하는 FK값을 entity가 함께 가지고 있다. 이전에는 User class에서 @OneToMany를 적용했다면, 이번번에는..