본문 바로가기

mappedBy3

JPA - 다양한 연관관계 - 1 : 1 - 참조: 자바 ORM 표준 JPA 프로그래밍 - 1 : 1 연관관계 1 : 1 관계는 양쪽이 서로 하나씩만 가지는 관계로 아주 심플한 다중성을 갖는다. 회원과 사물함이 있다고 할 때, 회원은 하나의 사물함만 소유할 수 있고 사물함도 회원 한명에 의해서만 소유될 수 있다고 한다면 1 : 1 관계이다. 다중성에서 항상 N 쪽이 외래키를 가진다고 하였는데, 1 : 1 에서는 어느쪽에 외래키를 두어도 되기 때문에 양방향일 경우 연관관계의 주인을 선택해야 한다. 주 테이블 또는 대상 테이블에 외래키를 둘 수 있다. 주 테이블: 주 테이블에 대상 테이블을 참조하는 사상을 그대로 따라가기 때문에 어플리케이션 코드에 더 직관적이다. 대상 테이블: DB 개발자들이 선호하는 방법이며 1 : 1 에서 1 : N 으로 변경.. 2021. 7. 6.
JPA - 연관관계 맵핑 - 연관관계 맵핑 - 참조: 자바 ORM 표준 JPA 프로그래밍 - 외래키에서 참조로의 변환 지난번 요구사항을 Entity 로 변환하는 과정에서 아래 다이어그램과 같이 속성으로 외래키를 그대로 냅두었었다. 연관관계 맵핑을 배웠으니 이 외래키들을 참조로 변환할 수 있다. 연관관계를 더 명확히 보기 위해서 해당 필드에도 다중성을 표시하였다. 아래 설명은 위의 다이어그램에서 클래스간의 관계를 파악한것이다. Member - Order: 멤버는 주문을 1건도 하지 않을 수도, 여러건을 할 수도 있다. 1 : N 의 관계이다. Member 와 Order 는 서로간을 참조하는 양방향 연관관계이다. 외래키는 Order 에서 MEMBER_ID 를 가져야 한다. 앞에서 설명했듯이 Member : Order = 1 : N 이므로 N 쪽에서 .. 2021. 7. 2.
JPA - 연관관계 맵핑 - 양방향 연관 - 참조: 자바 ORM 표준 JPA 프로그래밍 - 양방향 연관관계 이전 예제에서는 회원에서 팀으로 접근하는 단방향 연관관계를 알아보았다. 이번에는 팀에서 회원으로 접근할 수 있는 양방향 연관관계를 맵핑해본다. 위 다이어그램에서 회원과 Team은 다대일 연관관계이다. 회원은 아직 팀에 속해있지 않을 수도 있고, 1개팀에 속할수도 있지만 2개 이상팀에는 속할수가 없기 때문에 다중성의 하한과 상한은 0..1이다. 반면 팀은 여러명의 멤버들로 구성될 수 있기 때문에 다중성을 * 이며, Type은 User 이다. DB 입장에서는 달라지는 내용이 전혀 없다. 어차피 외래키 하나로 Join 하면 되기 때문에, 기존의 형상을 유지한다. User 는 이전소스와 달라지는것이 없다. Team 에서 User 를 참조하기 위한.. 2021. 7. 1.