- 일대다 연관 관계에서는 외래 키 매핑을 활용해 연관 관계 매핑을 처리할 수 있다.
- 하지만 다대다 연관 관계에서는 외래 키를 포함할 단일 값 쪽이 없기 때문에 이 방법은 불가능하다.
- 이 문제는 관계를 기록하는 추가 테이블을 만들어서 해결할 수 있다.
- 그런 다음 연관 테이블 매핑으로 다중 값을 이 링크 테이블로 매핑한다.
작동 원리
- 연관 테이블 매핑의 기본 개념은 링크 테이블을 사용해 연관 관계를 저장하는 것이다.
- 서로 연결된 두 테이블의 외래 키 ID만 포함하고 연관된 객체 한 쌍당 한 행을 가진다.
- 링크 테이블은 ID가 없으며 기본키는 연관된 테이블의 두 기본 키를 합성한 것이다.
사용 시점
- 다대다 연관 관계를 나타낼 때 사용한다.
- 다른 모든 형식의 연관 관계에도 사용이 가능하다.
- 그러나 외래 키 매핑보다 복잡한 조인이 필요하므로 일반적으로 올바른 선택은 아니다.
- 연관 테이블 매핑이 적당한 두 가지 상황
- 연결 테이블에 대한 추가 정보가 필요한 경우
- 연결 테이블이 단순히 연관된 두 객체의 식별자만 가지고 있다면 외래 키 매핑이 적절할 수 있다.
- 하지만, 연결 테이블 자체에 대한 정보가 필요한 경우 연관 테이블 매핑을 사용할 수 있다.
- 연관된 레코드를 함께 로드할 필요가 없는 경우
- 예를 들어, 학생과 강의 사이의 연결 테이블인 수강 테이블에서는 각 학생이 수강한 강의 목록을 로드할 때, 강의 자체에 대한 정보는 로드하지 않아도 된다.
- 연결 테이블에 대한 추가 정보가 필요한 경우
계층 상위 형식(Superclass)은 객체 지향 프로그래밍에서 상속을 이용하여 구현되는 객체 모델링에서 사용되는 개념입니다.
계층 상위 형식은 여러 하위 형식(Subclass)들의 공통적인 특성을 추상화한 형식으로, 이를 이용하여 코드 재사용성과 유지보수성을 높일 수 있습니다.
상속을 이용하여 하위 형식에서 공통적인 메서드와 필드를 상속받아 재사용할 수 있는 것처럼, 계층 상위 형식은 여러 하위 형식에서 공통적으로 존재하는 속성과 메서드를 추출하여 하나의 형식으로 만들어서 재사용할 수 있습니다.
메서드 객체(Method Object)는 객체 지향 프로그래밍에서 사용되는 설계 패턴 중 하나입니다.
메서드 객체 패턴은 복잡한 로직이나 알고리즘을 구현한 메서드를 별도의 클래스로 분리하는 것을 목적으로 합니다. 이렇게 분리된 메서드 객체는 매개변수와 리턴값을 가지며, 메서드를 호출하는 대신 객체를 생성하여 메서드 객체에 필요한 매개변수를 전달하고, 메서드 객체에서 실행된 결과를 리턴받아 사용합니다.
'Study > 엔터프라이즈 애플리케이션 아키텍처 패턴' 카테고리의 다른 글
제12장 객체-관계형 구조 패턴 : 직렬화 LOB (0) | 2023.03.30 |
---|---|
제12장 객체-관계형 구조 패턴 : 포함 값 (0) | 2023.03.28 |
09장 - 도메인 논리 패턴 (0) | 2023.02.20 |
05장 - 동시성 (0) | 2023.02.14 |
03장 - 관계형 데이터베이스 매핑 02 - 데이터 읽기 / 구조적 매핑 패턴 (0) | 2023.02.08 |