[TIL] 221104

✏️ Check Box

📌 정리


한 엔터티에 많은 필드가 모여있으면 식별하기가 불편하고, 특정한 값들을 처리하는 기능들이 한 엔터티에 생기게 된다. 따라서 VO(Value Object)를 이용하여 값들을 분리하여 관리하기로 하였다. 이를 Entity에 포함시키기 위해서 @Embedded 어노테이션을 이용해 VO 객체를 포함시키고, 각 VO 객체에서는 @Embeddable 어노테이션을 명시하여 엔터티에 포함될 수 있도록 구현하였다. 추후에는 VO 객체의 특징인 불변, 동등성을 살리기 위해 hashcode, equals 메서드 및 setter 제거 등의 작업을 할 예정이다.

Aggregate 루트를 통해 해당 Aggregate에 포함된 데이터를 조회해야하는 설계를 지키다보니 기존 개발방식에서 의문이 생겼다. M:N 관계에서 중간테이블을 이용해서 조회를 해야하는데, 서로 다른 Aggreate에 존재하기에 Id로만 조회하는 방법이 떠오르지 않는 것이었다. 해결방법을 찾아보곤 있지만 이렇다할 획기적인 방법이 생각나질 않아 시간을 조금 더 투자해야할 것 같다.

Back to [TIL] 221103