티스토리 뷰

JPA

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

배워서 남 주는 Jaime.Lee 2019. 9. 30. 13:57
728x90
반응형

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을 만들 때만 사용됨
728x90
반응형
댓글
댓글쓰기 폼