@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 프로그래밍 - 기본편)
반응형
'🌱 SPRING > JPA' 카테고리의 다른 글
[JPA] 매핑 어노테이션 (0) | 2020.06.13 |
---|---|
[JPA] 스키마 자동 생성 (0) | 2020.06.13 |
[JPA] 플러시(flush) (0) | 2020.06.13 |
[JPA] 영속성 컨텍스트 (0) | 2020.06.07 |
[JPA] JPQL 맛보기 (0) | 2020.06.07 |