TIL 22.12.14 / 스프링 숙련주차 완강

쓰옹·2022년 12월 14일
0

개발자를 향해~~TIL✍

목록 보기
38/87
post-thumbnail

TODAY

코드스니펫을 그냥 복사 붙여넣기 하는 것이 아니라 직접 따라치면서 학습하기!


숙련주차 강의를 완강했다~!

@ManyToMany

  • 단방향
  • JPA가 자동으로 중간 테이블을 생성함
    • 오로지 Mapping에만 쓰이는 정보
    • 숨겨져 있어서 예상치 못한 쿼리들이 JPA에서 자동으로 나갈 수 있음
    • 연결테이블에 데이터가 추가될 때 중간테이블에는 추가 정보 넣는게 불가능
  • 많은 문제를 해결하지 않는다면 쓰지 않는게 좋음

→ 직접 중간테이블을 만들어서 @OneToMany / @ManyToOne로 이어주면 됨

예시) 음식점의 손님(Member)과 음식(Food)

Member : Food = N : N

⇒ Member : Order = 1 : N // Food : Order = 1 : N

  • Member Entity
@Getter
@Entity
@NoArgsConstructor
public class Member {
	    ...

    @OneToMany(mappedBy = "member", fetch = FetchType.EAGER)
    private List<Orders> orders = new ArrayList<>();
		
			...
}
  • Order Entity
@Getter
@Entity
@NoArgsConstructor
public class Orders {
	    ...

    @ManyToOne
    @JoinColumn(name = "food_id")
    private Food food;

    @ManyToOne
    @JoinColumn(name = "member_id")
    private Member member;

	    ...
}
  • Food Entity
@Getter
@Entity
@NoArgsConstructor
public class Food {
			...

    @OneToMany(mappedBy = "food",fetch = FetchType.EAGER)
    private List<Orders> orders = new ArrayList<>();
			
			...

}
  • Order라는 중간 테이블을 직접 생성해서 연결해줌

특강- 좋은 개발자가 되기 위한 비밀

  • 실력을 보완하고 어필할 수단 생각하기

  • 질문할 때는

    • 궁금한 부분을 확실히 정리하고 질문하기
      • 해결하려고 노력한 과정과 질문할 부분 정리
  • 에러메세지가 떴을 때 해결하려고 고민하고 흔적을 남겨놓자!

    • 타임라인 형식으로 스토리를 적어두자
    • 고민에 대한 흔적이 중요!
    • 고민 한 후에 구글링하기
  • 소통이 중요

    • 생각의 공감각화
    • 상대를 생각하자

문제에 있어 ‘도전’하고 실제로 ‘구현’해내며, ‘소통’도 잘하는 사람이 롱런하는 시대

profile
기록하자기록해!

0개의 댓글