본문 바로가기
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

  • @Table은 엔티티와 매핑할 테이블을 지정한다

      @Entity
      @Table(name = "mbr")
      public class Member {
              @Id
              private Long id;
              private String name;
    
              public Member() {}
      }

속성

name

  • @Table(name = "{DB_TABLE_NAME}") 형태로 사용한다.
  • {DB_TABLE_NAME} 은 실제 데이터베이스에 매핑할 테이블 명을 작성한다.
  • 기본 값은 엔티티 클래스명을 사용한다.

catalog

  • catalog 기능이 있는 DB에서 catalog를 매핑한다.

schema

  • schema 기능이 있는 DB에서 schema를 매핑한다.

uniqueConstraints(DDL)

  • DDL 생성 시 유니크 제약 조건을 생성한다.
  • 스키마 자동 생성 기능을 사용해서 DDL을 만들 때만 사용

'Spring > JPA' 카테고리의 다른 글

필드와 컬럼 매핑  (0) 2023.06.15
스키마 자동 생성(Auto DDL)  (0) 2023.06.15
JPA 란 무엇이고 왜 사용해야 하는가  (0) 2021.12.24
엔티티 매핑과 기본키 전략  (0) 2021.12.23
영속성 컨텍스트와 플러시  (0) 2021.12.23