🌱 SPRING/JPA

[JPA] 엔티티

1HOON 2020. 6. 13. 16:07

 

@Entity

@Entity 어노테이션이 붙은 클래스는 JPA가 관리하며, 이를 엔티티라고 한다. JPA에서는 이 엔티티를 테이블과 매핑해 SQL문을 작성하며, 옵션을 지정해 생성되지 않은 테이블을 엔티티를 통해 생성할 수도 있다.

 

주의사항

  • JPA 기본 스펙으로 인해 엔티티에는 기본 생성자가 필수적으로 필요하다.
    → JPA를 구현하는 라이브러리에서 객체를 프록싱할 때 필요
  • final 클래스, enum, inteface, inner 클래스는 사용이 불가능하다.
  • 컬럼에 매핑되어 저장할 필드에는 final 사용이 불가능하다.

 

주요 속성

  • name
    - JPA에서 사용할 엔티티 이름을 지정한다.
    - 기본값 : 클래스명 그대로
    - 같은 클래스 이름이 없으면 가급적 기본값을 사용하도록 하자.

 

 

@Table

@Table 어노테이션은 엔티티와 매핑할 테이블을 지정하는 기능을 한다. name 속성에 매핑할 테이블의 이름을 지정하는데, 예를 들어 Member 엔티티를 MEMBER_M 테이블과 매핑하려면 @Table(name="MEMBER_M")을 추가해주면 된다.

 

주요 속성

  • name
    - 매핑할 테이블 이름
    - 기본값 : 엔티티 명
  • catalog
    - 데이터베이스 catalog 매핑
  • schema
    - 데이터베이스 schema 매핑
  • uniqueConstraints
    - DDL 생성 시 Unique 제약 조건 생성

 

 


출처 :: 인프런 강의(자바 ORM 표준 JPA 프로그래밍 - 기본편)

반응형