/////
Search
Duplicate
3️⃣

리포지터리와 애그리거트

: 애그리거트는 개념상 완전한 한 개의 도메인 모델을 표현하므로 객체의 영속성을 처리하는 리포지터리는 애그리거트 단위로 존재
: OrderOrderLine을 물리적으로 각각 별도의 테이블에 저장한다고 해서 OrderOrderLine을 위한 리포지터리를 각각 만들지는 않는다는 것
: 애그리거트는 개념적으로 하나이므로 리포지터리는 애그리거트 전체를 저장소에 영속화 해야한다.
: 애그리거트를 저장할 때 루트와 매핑되는 테이블 뿐 아니라 애그리거트에 속한 모든 구성요소에 매핑된 테이블에 데이터를 저장해야한다. 조회 역시 리포지터리 메서드는 완전한 애그리거트를 제공해야 한다.
: 리포지터리가 완전한 애그리거트를 제공하지 않으면 오류 문제가 발생 할 수 있다.