🌱 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 프로그래밍 - 기본편)
반응형