@Embedded와 @Embeddable 어노테이션을 활용하면 중복될 수 있는 프로퍼티를 쉽게 reusable class로 정의하고 사용할 수 있습니다. 따라서 가독성이 향상되는 장점이 있지만, 단점 또한 명확합니다.
@Embedded된 속성이 많은 경우, 해당 엔티티를 조회할 때 모든 내장 속성을 로드해야 하므로 조회 성능에 영향을 줄 수 있습니다.
남발할수록 클래스 구조가 급격하게 복잡해질 수 있습니다.
내장 클래스는 별도의 엔티티가 아니라는 것을 항상 유념해야 합니다. 별도의 엔티티를 두는 것이 더 낫진 않을지 항상 유심히 검토해봐야 합니다.
@Embedded와 @Embeddable 어노테이션의 사용은 설계상의 선택이며, 도메인 모델의 복잡성, 성능 요구사항, 코드의 재사용성 등을 고려하여 결정해야 합니다.