본문 바로가기

컴퓨터/JPA

[자바 ORM 표준 JPA 프로그래밍] - 엔티티 매핑

엔티티 매핑의 종류

1. 객체와 테이블 : @Entity, @Table

2. 필드와 컬럼 : @Column

3. 기본 키 : @Id

4. 연관관계 : @JoinColumn 등

 


객체와 테이블 매핑

  • @Entity
- JPA가 관리하는 엔티티라는 의미
- 기본 생성자가 필수 (파라미터가 없는 public 또는 protected 생성자)
- final, enum, interface,inner 클래스에는 사용할 수 없다.
- 데이터베이스에 저장하고 싶은 필드에는 final을 사용하면 안된다.

* 속성 
 - name : JPA에서 사용할 엔티티 이름 지정, 기본값으로 클래스 이름을 그대로 사용한다.
  • @Table
- 엔티티와 매핑할 테이블을 지정한다.

* 속성
- name : 매핑할 테이블 이름을 지정한다.
- catalog : 카탈로그 매핑
- schema : 스키마 매핑
- uniqueConstraints : DDL 생성 시 유니크 제약 조건 생성

 

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

- DDL을 애플리케이션 실행 시점에 자동으로 생성한다.

- 테이블 -> 객체 중심

- db 방언을 활용하여 데이베이스에 맞는 적절한 DDL 생성 -> 개발 장비에서만 사용한다.

* DDL 생성 기능
- 제약조건 추가 ex) @Column( nullable = false, length=9)
- 유니크 제약조건 추가

JPA의 실행 로직에는 영향을 주지 않는다!

- 운영 서버에서는 사용하지 않거나 다듬은 후 사용해야 한다.

 

* 속성

- create : 기존 테이블 삭제 후 다시 생성

- create-drop : 종료하는 시점에 테이블 드랍 (* 테스트 케이스 실행 시 좋음)

- update : 변경분만 반영 (운영에서는 사용 x)

- validate : 엔티티와 테이블이 정상 매핑되었는지 확인

- none : 사용하지 않음

 

 


 

 

 

728x90

'컴퓨터 > JPA' 카테고리의 다른 글

[자바 ORM 표준 JPA 프로그래밍] - 영속성 관리  (0) 2023.09.18