JPA 객체와 테이블 매핑

김두현·2023년 4월 23일
1

JPA

목록 보기
3/14
post-thumbnail

Goal

  • 객체와 테이블 매핑에 필요한 annotation과 속성에 대해 파악한다.
    • @Entity
    • @Table

@Entity

  • @Entity가 붙은 클래스는 JPA가 관리하는 엔티티, 데이터 집합체이다.
    즉, 테이블과 매핑할 클래스는 @Entity가 필수이다.

  • @Entity가 붙은 클래스는 기본 생성자가 필수이다.
    • 이유는, JPA가 엔티티 객체를 생성할 때 reflection을 사용하는데, 이 때 기본 생성자를 호출해서 객체를 생성하기 때문이다.

  • Primary Key를 필수로 가져야한다.

  • @Entity는 public class만 가질 수 있다.
  • 저장할 필드에 final을 사용하지 않는다.
    • 변경할 수 없기때문이다.

@Entity 속성

  • name : JPA에서 사용할 엔티티 이름을 지정한다.
    • default는 클래스명이며, 웬만하면 default를 사용한다.
    • ex)

@Table

  • @Table은 엔티티와 매핑할 테이블을 지정한다.

@Table 속성

  • name : 매핑할 테이블 이름
    • default는 엔티티 이름이다.
  • catalog
  • schema
  • uniqueConstraints : DDL 생성 시, 지정 컬럼이 유일한 값을 갖도록 한다.
    • ex) name, city 필드가 유일한 값을 갖도록 한다.

참고 자료

https://www.inflearn.com/course/ORM-JPA-Basic


💕오류 지적 및 피드백은 언제든 환영입니다. 복제시 출처 남겨주세요!💕
💕좋아요와 댓글은 큰 힘이 됩니다.💕
profile
I AM WHO I AM

0개의 댓글