상속관계 매핑 : 객체의 상속과 구조와 DB의 슈퍼타입 서브타입 관계를 매핑하는 것
공통 매핑 정보가 필요할 때 사용
JPA Entity 클래스들이 해당 Entity 클래스를 상속할 경우 상속받은 Entity 클래스에 컬럼으로 포함
@EqualsAndHashCode(callSuper = true): 두 객체의 값이 같은지, 같은 객체인지 비교
callSuper = true: 부모 클래스 필드값들도 동일한지 체크
callSuper = false(기본값): 자신 클래스의 필드값만 고려
@ToString(callSuper = true)
toString() : 객체가 가지고 있는 정보나 값들을 문자열로 만들어 Return하는 method
클래스의 변수들을 기반으로 toString메소드를 만들어줌
callSuper = true: 상속받은 클래스까지 toString()에 포함되어 출력되도록 설정
테이블 간의 연관 관계가 있을 때 객체지향스럽게 사용하는 방법을 제공
데이터베이스에서는 외래키를 사용하지만, JPA에서는 객체를 참조하는 방식으로 연관 관계를 매핑함
@OneToOne: 하나의 엔티티가 하나의 엔티티와 연관 관계를 맺을 때 사용
@OneToMany: 하나의 엔티티가 여러개의 엔티티와 연관 관계를 맺을 때 사용
@ManyToOne: 여러개의 엔티티가 하나의 엔티티와 연관 관계를 맺을 때 사용
@ManyToMany: 여러개의 엔티티가 여러개의 엔티티와 연관 관계를 맺을 때 사용