엔티티 매핑

Timo·2021년 4월 14일
0
post-thumbnail

김영한님의 <자바 ORM 표준 JPA 프로그래밍> 책을 정리한 내용입니다.

JPA를 사용하는 데 가장 중요한 일은 엔티티와 테이블을 정확히 매핑하는 것이다.

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

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

@Entity

JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 어노테이션을 필수로 붙여야 한다.
@Entity가 붙은 클래스는 JPA가 관리하는 것으로, 엔티티라 부른다.

@Table

@Table은 엔티티와 매핑할 테이블을 지정한다. 생략하면 매핑한 엔티티 이름을 테이블로 사용한다.

다양한 매핑 사용

Enum 타입 사용 시에는 @Enumerated 매핑
날짜 타입은 @Teparal 사용하여 매핑
@Lob 어노테이션은 길이 제한 없는 필드에 사용한다.

데이터 베이스 스키마 자동 생성

JPA는 데이터베이스 스키마를 자동으로 생성하는 기능을 지원한다.

DDL 생성 기능

한 테이블에 복수개의 유니크 제약 조건을 추가할 때는 @Table 어노테이션 속성으로 지정해야 한다.

기본키 매핑

자동 생성 방식

  • IDENTITY
  • SEQUENCE
  • TABLE

자동 생성 전략을 사용할 경우 @GeneratedValue 어노테이션을 추가하고 원하는 키 생성 전략을 속성으로 지정하면 된다.

필드와 컬럼 매핑

@Transient 어노테이션을 사용하면 해당 필드는 데이터베이스에 매핑하지 않는다.
기본 값을 지정하고 싶다면 @ColumDefinition 어노테이션을 사용해 직접 기술하면 된다.

profile
나는 매일 성장하는 사람

0개의 댓글