Spring/Annotation

    [JPA] @MappedSuperclass

    [JPA] @MappedSuperclass

    @MappedSuperclass @MappedSuperclass는 상속관계 매핑과는 관련이 없다. 객체의 입장에서 공통 매핑 정보가 필요할 때 사용한다. id, name은 객체의 입장에서 볼 때 계속 나온다. 이렇게 공통 매핑 정보가 필요할 때, 부모 클래스에 선언하고 속성만 상속 받아서 사용하고 싶을 때 @MappedSuperclass를 사용한다. 정확히는 DB의 상속관계 매핑과는 관련이 없다. 아래에 보면 DB는 매핑 정보 다 따로 쓰고 있다. 예를 들어 모든 클래스는 생성 시간(createdDate)라는 속성을 가져야 한다고 가정하자. 모든 클래스마다 직접 createdDate라는 필드를 붙여줄 수 있지만, createdDate라는 필드를 가진 추상 클래스(혹은 일반 클래스)를 만들어 이를 다른 클..