728x90
1. 공통 Entity
JPA를 사용하면 데이터베이스의 테이블과 자바 객체를 매핑할 수 있습니다.
때로는 여러 개의 엔티티에서 공통으로 사용되는 필드를 가지는 공통 엔티티를 만들고 싶을 수 있습니다.
이러한 상황에서는@MappedSuperclass 사용하여 공통 엔티티를 생성할 수 있습니다.
@MappedSuperclass
public class CommonEntity {
@Column
private Date registDate;
@Column
private Date modDate;
}
2. 같은 테이블에서 ID를 설정 할때
보통 카테고리나 댓글을 만들때 대댓글, 부모 카테고리를 선언하기도 하는데 같은 테이블 내에서 선언한다.
이를 위해 아래와 같이 선언하면된다.
@Entity
@Table(name = "category")
public class CategoryEntity extends CommonEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "parentEntity")
private CategoryEntity parentEntity;
@Column
private String name;
}
- @ManyToOne(fetch = FetchType.LAZY)
- 다대일(N:1) 관계를 정의하는 어노테이션입니다. 한 부모 카테고리에 여러 개의 자식 카테고리가 속할 수 있습니다.
728x90
'BackEnd > Spring Boot' 카테고리의 다른 글
JPA란? (0) | 2023.05.21 |
---|---|
영속성 이란? (0) | 2023.05.21 |
jasypt 설정 하기 (0) | 2023.05.01 |
jasypt 란? (0) | 2023.05.01 |
mysql-connector-j와 mysql-connector-java (0) | 2023.04.30 |