@MappedSupperclass @MappedSupperclass는 상속 관계 매핑에서 사용되는 어노테이션이다. @MappedSuperclass public abstract class Timestamped { private LocalDateTime createdDate; private LocalDateTime modifiedDate; ... } @Entity public class Member extends BaseEntity { ... } 해당 어노테이션에 선언된 클래스는 테이블과 매핑되지 않으며, 자식 클래스에게 매핑 정보만 제공한다. 이를 통해 자식 클래스는 부모 클래스의 필드를 상속받아 사용할 수 있다. → 중복 코드를 줄이고 객체 지향적인 설계를 할 수 있다. @Embedded & @Embed..
Framework
JPA에서 양방향으로 연결된 엔티티를 json으로 직렬화할 때, 즉, Entity To Json serialize할 때 (보통 controller 단) 순한 참조가 발생할 수 있다. 이를 해결하기 위해 Jackson 라이브러리의 @JsonIgnore 어노테이션이나 @JsonManagedReference & @JsonBackReference 어노테이션을 사용하여 직렬화를 제한할 수 있다. Jackson은 스프링에서 JSON을 다룰 때 사용하는 라이브러리다. spring-boot-stater-web 의존성을 주입하면 Jackson 라이브러리가 자동으로 포함된다. 1. @JsonIgnore 필드 레벨에 적용되어 직렬화 시 포함시키고 싶지 않은 필드에 선언한다. @Entity public class Team {..