엔티티 매핑

tyghu77·2023년 7월 10일
0

@Entity

@Entity가 붙은 클래스는 JPA가 관리하는 엔티티라고 한다.
JPA를 사용해서 테이블과 매핑할 클래스는 @Entity가 필수이다.
기본 생성자가 꼭 있어야 한다.
enum, interface, inner, final 클래스에는 안된다.

@Table

Annotaion설명기본값
name매핑할 테이블 이름엔티티 이름을 사용
catalog데이터베이스 schema 매핑
schema데이터베이스 schema 매핑
uniqueConstraintsDDL 생성 시에 유니크 제약 조건 생성

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

애플리케이션 로딩 시점에 DB 테이블을 생성하는 기능을 지원해 준다.
DB 방언을 사용하여 DB에 맞는 적절한 DDL을 만들어준다.
이렇게 생성된 DDL은 개발 장비에서만 사용해야한다.
운영서버에서는 사용하지 않거나, 다듬은 후에 사용해야 한다.

주의해야 할 점

  1. 운영 장비에는 절대 create, create-drop, update를 사용하면 안된다.
  2. 개발 초기에는 create 나 update(로컬과 개발서버에서)
  3. 테스트 서버에는 update 또는 validate를 권장
  4. 스테이징과 운영 서버는 validate 또는 none
    테스트와 개발서버에서도 안쓰는게 낫다.

DDL 생성기능
DDL 생성 기능은 DDL을 자동 생성할 때만 사용되고 JPA의 실행 로직에는 영향을 주지 않는다.

profile
배운것을 기록하자

0개의 댓글