JPA 4. 엔티티 매핑하기

@t189216·2024년 3월 28일

Spring Boot

목록 보기
9/9

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

객체와 테이블 매핑


@Entity

테이블과의 매핑을 담당합니다. JPA가 엔티티를 관리하게 하려면 @Entity 가 필수이며, @Entity 가 없다면 JPA와 전혀 관계없는 클래스입니다.

  • 기본 생성자 필수 (파라미터가 없는 public 또는 protected 생성자)
  • final 클래스, enum, interface, inner 클래스 ❌
  • 저장할 필드에 final 사용 ❌

@Table

엔티티와 매핑할 테이블을 지정합니다. 테이블을 다른 이름으로 매핑할 때 사용합니다.

@Entity
@Table(name = "MBR")
public class Member {
...

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


JPA 는 객체를 생성하고 객체 매핑을 해놓으면, 애플리케이션 로딩 시점에 DB 테이블을 자동으로 생성해줍니다.

또한 DB 방언을 활용해 DB에 맞는 적절한 DDL을 생성합니다. (Oracle은 varchar2, MySQL은 varchar...) 하지만 생성된 DDL은 개발 환경에서만 사용해야 합니다.

필드와 컬럼 매핑


기본 키 매핑


profile
Today I Learned

0개의 댓글