티스토리 뷰

JPA

JPA 매핑 어노테이션 (@Entity, @Table)

Jaime.Lee 2019. 9. 30. 13:57

JPA는 다양한 매핑 어노테이션을 제공하는데 크게 4가지로 분류할 수 있습니다.

  • 객체와 테이블 매핑: @Entity, @Table
  • 키 매핑: @Id
  • 필드와 컬럼 매핑: @Column
  • 연관관계 매핑: @ManyToOne, @JoinColumn

@Entity

테이블과 매핑할 클래스는 필수로 어노테이션을 붙여주어야 합니다.

Attributes

  • name: JPA에서 사용할 엔터티 이름, 보통 클래스 이름을 사용, 다른 패키지에 동명의 엔터티가 있다면 값을 지정하여 충돌을 피해야 함

주의사항

  • 기본 생성자 필요(public or protected)
  • final, enum, interface, inner class에는 사용 불가
  • 저장할 필드에 final 사용 불가
public class Member { ... }

-> Member 테이블과 매핑

@Entity(name = "user")
public class Member { ... }

-> user 테이블과 매핑

@Table

앤터티와 매핑할 테이블을 지정합니다. 생략하면 클래스 이름을 그대로 사용합니다.

Attributes

  • name: 테이블 이름(기본 값으로 엔터티 이름 사용)
  • catalog: 카탈로그(데이터베이스의 개체들에 대한 정의를 담고 있는 메타데이터들로 구성된 데이터베이스 내의 인스턴스) 매핑
  • schema: 스키마 매핑
  • uniqueConstraints: DDL 생성 시 유니크한 제약조건을 생성, 스키마 자동 생성 기능을 사용해서 DDL을 만들 때만 사용됨

'JPA' 카테고리의 다른 글

객체와 데이터베이스의 체계와 한계  (0) 2020.04.02
SQL의 문제점  (0) 2020.04.01
JPA를 공부하는 이유  (2) 2020.03.31
기본 키(Primary Key) 매핑 전략  (0) 2019.10.01
JPA 데이터베이스 스키마 자동 생성  (0) 2019.09.30
댓글