코드 그라데이션
엔티티 매핑 1 - 객체와 테이블 매핑 본문
* JPA가 내부적으로 어떤 매커니즘으로 동작하는지에 대한 매커니즘적 측면
* 실제 설계적 측면 - 객체와 관계형 데이터베이스를 어떻게 매핑해서 쓰는지
소개
객체와 테이블 매핑 : @Entity, @Table
필드와 컬럼 매핑 : @Column
기본 키 매핑 : @Id
연관관계 매핑 : @OneToOne, @ManyToOne, @OneToMany, @ManyToMany, @JoinColumn
- JPA에서 가장 중요한 일은 엔티티와 테이블을 정확하게 매핑하는 것.
따라서 매핑 어노테이션을 정확하게 숙지해야 한다.
객체와 테이블 매핑
@Entity
• @Entity가 붙은 클래스는 JPA가 관리, 엔티티라 한다.
• JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 필수
=> 붙지 않으면 JPA가 관리하지 않는 클래스
• 주의
• 기본 생성자 필수(파라미터가 없는 public 또는 protected 생성자)
• final 클래스, enum, interface, inner 클래스 사용X
• 저장할 필드에 final 사용 X
@Entity 속성 정리
• 속성: name
• JPA에서 사용할 엔티티 이름을 지정한다.
• 기본값: 클래스 이름을 그대로 사용(예: Member)
• 같은 클래스 이름이 없으면 가급적 기본값을 사용한다
-> 다른 패키지에 동일한 클래스명이 있는 경우 하나는 다른 이름을 써주든지 해야.
** JPA가 내부적으로 구분하는 이름이라고 생각하면 됨
@Table
• @Table은 엔티티와 매핑할 테이블을 지정
728x90
'Spring > JPA 공부' 카테고리의 다른 글
엔티티 매핑 3 - 필드와 컬럼 매핑 (0) | 2023.08.15 |
---|---|
엔티티 매핑 2 - 데이터베이스 스키마 자동 생성 (0) | 2023.08.15 |
flush와 준영속 상태 (0) | 2023.08.14 |
영속성 컨텍스트 (0) | 2023.08.13 |
JPA의 등장과 발전 (0) | 2023.08.12 |
Comments