[JPA 3] 엔티티 매핑

HyeonJeong·2023년 1월 2일
0

spring JPA 공부하자

목록 보기
4/6

이번에는 JPA에서 본격적으로 객체와 테이블을 매핑하기 위한 엔티티 매핑에 대해서 적어보았습니다!

📌영속성 컨텍스트


1. 매핑

  • 객체와 테이블 매핑: @Entity, @Table
  • 필드와 컬럼 매핑: @Column
  • 기본 키 매핑: @Id
  • 연관관계 매핑: @ManyToOne,@JoinColumn

@Entity

  • 클래스는 JPA가 관리
  • 속성 - name : 매핑할 테이블 이름 / catalog : DB 카테고리 매핑 / schema : DB 스키마 매핑
  • 파라미터가 없는 public 또는 protected 생성자인 기본 생성자 필수
  • final 클래스, enum, interface, inner 클래스 사용X

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

  • 테이블 중심 -> 객체 중심으로 DDL을 애플리케이션 실행 시점에 자동 생성
    JPA의 실행 로직에는 영향X
  • 생성된 DDL은 개발 장비에서만 사용 ⇒ 운영 장비에는 절대 create, create-drop, update 사용X
    • 개발 초기 단계는 create 또는 update
    • 테스트 서버는 update 또는 validate
    • 스테이징과 운영 서버는 validate 또는 none
  • 속성
    • create : 삭제 후 다시 생성/ create-drop : 종료시점에 drop
    • update : 변경분만 반영(운영DB에는 사용X) / validate : 정상 매핑 확인 / none

0개의 댓글