Spring/JPA
엔티티 매핑
by godkoo
2023. 6. 15.
@Entity
- @Entity가 붙은 클래스는 JPA가 관리 한다.
- JPA를 사용해서 테이블과 매핑할 클래스는 해당 어노테이션을 필수적으로 기재한다.
- 기본 생성자가 꼭 필요하다.
@Entity
public class Member {
@Id
private Long id;
private String name;
public Member() {}
}
속성
name
@Entity(name = “Member”)
형태로 사용한다.
- 기본값은 클래스의 이름을 그대로 사용한다.
- 같은 클래스 이름이 없으면 가급적 기본값을 사용한다
- JPA 내부에서 엔티티 Alias로 사용하며, 실제 데이터베이스 Table명과는 관련없다.
@Table
속성
name
@Table(name = "{DB_TABLE_NAME}")
형태로 사용한다.
{DB_TABLE_NAME}
은 실제 데이터베이스에 매핑할 테이블 명을 작성한다.
- 기본 값은 엔티티 클래스명을 사용한다.
catalog
- catalog 기능이 있는 DB에서 catalog를 매핑한다.
schema
- schema 기능이 있는 DB에서 schema를 매핑한다.
uniqueConstraints(DDL)
- DDL 생성 시 유니크 제약 조건을 생성한다.
- 스키마 자동 생성 기능을 사용해서 DDL을 만들 때만 사용