영속성 컨텍스트 개념과 더불어 중요함.
매핑 순서? 매핑할 때 해야 할 것들은
객체와 테이블 매핑 : @Entity, @Table
필드와 컬럼 매핑 : @Column
기본 키 매핑 : @Id
연관관계 매핑 : @ManyToOne, @JoinColumn
연관관계 매핑은 관계형DB에서의 1대다, 다대다 등의 관계를 JPA에서는 어떻게 매핑할 것인가. 하는 것.
@Entity
이게 붙은 클래스는 JPA가 관리하는 클래스이다.
JPA를 사용하여 테이블과 매핑할 클래스는 이것이 필수이다.
그리고, JPA가 다루는 클래스는
기본생성자(파라미터 없는 생성자를 public이나 protect로)가 꼭 있어야 하며,
final, enum, interface, inner 클래스를 사용하면 안된다.
저장하고 싶은 필드에 final 사용하면 안됨.
일단 실제 @Entity
@Entity
public class Member {
@Id
private Long id;
private String name;
}
되게 간단한 버전이긴 함.
그리고 @Entity(name="Member") 해서 name을 붙여줄 수 있는데, 이거는 그냥 JPA 내부에서 구분하기 위한 이름.
클래스 이름이 default임.
@Table 애노테이션
이거는 테이블과 관련된 속성을 지정할 수 있는 애노테이션이다.
보통 JPA에서 클래스 이름과 같은 테이블 이름을 매핑하는데,
만약 클래스 이름과 테이블 이름이 다르다면,
@Entity
@Table(name="User")
public class Member {
@Id
private Long id;
private String name;
}
이렇게 하면 된다.
몇가지 속성들이 있다.
'JPA > JPA 기본' 카테고리의 다른 글
12. 필드와 컬럼 매핑 (0) | 2023.10.21 |
---|---|
11. DB 스키마 자동 생성 (0) | 2023.10.21 |
9. 준영속 상태 (0) | 2023.10.20 |
8. 플러시 (0) | 2023.10.20 |
7. 영속성 컨텍스트 2 (0) | 2023.10.20 |