@MappedSuperclass VS @Embeddable(임베디드 타입)


@MappedSuperclass VS @Embeddable(임베디드 타입)

둘 다 비슷한 기능을 하기 때문에 어느 상황에 어떤걸 써야 할지 고민이 많았다정리를 하자면@MappedSuperclass로 정의하면 Entity로 정의하는 것이고 여러 Entity에 공통적으로 적용해야 할때 사용할 수 있고@Embeddable으로 정의하면 Value 타입으로 정의하는 것이고 비슷한 속성을 가지는 애트리뷰트를 하나의 값으로 만들어 재사용성을 높일수 있는 방법이다또한@MappedSuperclass는 상속이며@Embeddable은 위임이다상속은 다중상속도 안되고 객체지향 설계상 유연성이 떨어진다따라서 가급적이면 위임인 @Embeddable을 써야한다@MappedSuperclass가 사용될때는 한가지 경우만 있는데[ ex) 수정시간, 등록시간, 수정자, ..........

@MappedSuperclass VS @Embeddable(임베디드 타입)에 대한 요약내용입니다.

자세한 내용은 아래에 원문링크를 확인해주시기 바랍니다.



원문링크 : @MappedSuperclass VS @Embeddable(임베디드 타입)