본문 바로가기
JPA

JPA 엔티티 매핑

by ppirae 2022. 5. 11.

엔티티 매핑

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

@Entity

기본 생성자 필수

final 클래스, enum, interface, inner 클래스 사용 X

저장할 필드에 final 사용 X


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

hibernate.hbm2ddl.auto 옵션

create, create-drop, update, validate, none

 

데이터베이스 스키마 자동 생성 - 주의

  • 운영 장비에는 절대 create, create-drop, update 사용하면 안됨
  • 개발 초기 단계는 create 또는 update
  • 테스트 서버는 update 또는 validate
  • 스테이징과 운영 서버는 validate 또는 none

필드와 컬럼 매핑

매핑 어노테이션 정리

hibernate.hbm2ddl.auto

@Column, @Temporal, @Enumerated, @Lob, @Transient


기본 키 매핑 방법

  • 직접 할당 : @Id 만 사용
  • 자동 생성 : @GeneratedValue
    • IDENTITY, SEQUENCE, TABLE, AUTO

 

권장하는 식별자 전략

  • 기본 키 제약 조건 : null 아님, 유일, 변하면 안된다.
  • 미래까지 이 조건을 만족하는 자연키는 찾기 어렵다. 대리키(대체키)를 사용하자.
  • 예를 들어 주민등록번호도 기본 키로 적절하지 않다.
  • 권장 : Long형 + 대체키 + 키 생성전략 사용

인프런 김영한님의 JPA 기본편을 듣고 작성한 글입니다.

https://inf.run/87Mz

 

자바 ORM 표준 JPA 프로그래밍 - 기본편 - 인프런 | 강의

JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이론이 부족하신 분들이 JPA의 기본 이론을 탄탄하게 학습해서 초보자도 실무에서 자신있게 JPA를 사용할 수 있습니다., - 강의 소개 | 인프런

www.inflearn.com

 

'JPA' 카테고리의 다른 글

연관관계의 주인과 주의점  (0) 2022.05.14
JPA 연관관계 매핑 기초  (0) 2022.05.13
HelloJPA와 영속성 관리 - 내부 동작 방식  (0) 2022.05.10
JPA에 대해..  (0) 2022.05.09
JPA 웹 계층 개발 - 홈 화면과 레이아웃  (0) 2022.04.22

댓글