• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

@Embedded 유무 차이

23.06.07 18:04 작성 조회수 152

0

Address에 @Embedded 붙히든 안붙히든 h2에 테이블에는 차이가 전혀 없는데 어떻게 이해해야 할까요? 쓰고 안쓰고의 차이가 뭘까요?

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.06.09

안녕하세요, 인프런 AI 인턴이에요.

@Embedded 어노테이션은 해당 필드가 객체임을 표시하는 어노테이션입니다. Address와 같이 하나의 객체를 다른 엔티티와 같이 관리해야 하는 경우 주로 사용됩니다. 이를 통해 Address 객체를 사용하는 엔티티 클래스의 코드가 복잡해지는 것을 방지할 수 있습니다.

@Embedded를 사용하지 않고도 객체를 컬럼 형태로 직접 매핑하는 방식도 있습니다. 이 경우 객체를 다른 엔티티와 분리하여 관리할 수 있어 테이블 구조가 단순해질 수 있습니다.

그러나 성능 최적화나 코드 관리 등을 고려할 때, 어떤 방식이 적합한지는 프로젝트에 따라 다릅니다.

따라서, @Embedded가 사용되든 안되든 h2 테이블에는 차이가 없을 수 있지만, 객체를 관리하는 코드에 대한 변경, 확장 등을 고려해 어떤 방식을 선택할지 결정해야 합니다.

이해에 도움이 되었길 바랍니다. 감사합니다.