프로젝트 2일차
개망했다. 너무 어렵다.... 배운적이 없으니 뭘 할 수가 없네.....ㅎ...
팀원들 다 시간이 지날 수록 멘붕이 아니라 가루가 되어감을 느낀다ㅋㅋㅋㅋ....으아아아아........진짜 어떡하지.
양방향 매핑 정리
단순하게 정리하면 양방향 매핑에서 아래 내용을 생각하면서 매핑하면 된다.
- 두 객체 연관관계 중 테이블 외래키를 관리하는 쪽을 연관관계의 주인이라 한다.
- 보통 외래키가 저장되는 테이블을 연관관계 주인으로 설정한다.
- 연관관계 주인만이 DB 연관관계와 매핑되고, 외래키를 관리(등록, 수정, 삭제)할 수 있다.
- 연관관계 주인의
mappedBy
속성을 사용하지 않음.- 연관관계 주인이 아니면
mappedBy
속성으로 연관관계의 주인을 지정해주어야 한다.@ManyToOne
은 항상 연관관계의 주인이되고,mappedBy
속성을 설정 조차 할 수 없다.
- DB 다대일 관계에서 '다'측에 외래키가 저장되기 때문.
연관관계 편의 메소드
양방향 연관관게는 양 쪽 객체를 모두 신경써야 하는데,
하나의 메소드에서 양측에 관계를 설정하제 해주는 것이 안전하다.
이렇게 한번에 양방향 관계를 설정하는 메소드를연관관계 편의 메소드
라고 부른다.연관관게 편의 메소드를 작성할 때 주의사항
- 다대일측(User)에서 연관관계를 지정할 때 기존 연관관계는 끊어주어야 한다.
- 연관관계를 저장할 때 무한 루프를 주의해야 한다.
- toString()에서도 무한 루프에 걸릴 수 한다.