코드 그라데이션

엔티티 매핑 1 - 객체와 테이블 매핑 본문

Spring/JPA 공부

엔티티 매핑 1 - 객체와 테이블 매핑

완벽한 장면 2023. 8. 15. 00:39

* JPA가 내부적으로 어떤 매커니즘으로 동작하는지에 대한 매커니즘적 측면

* 실제 설계적 측면 - 객체와 관계형 데이터베이스를 어떻게 매핑해서 쓰는지

 

소개

객체와 테이블 매핑 : @Entity, @Table

필드와 컬럼 매핑 : @Column

기본 키 매핑 : @Id

연관관계 매핑 : @OneToOne, @ManyToOne, @OneToMany, @ManyToMany, @JoinColumn

 

- JPA에서 가장 중요한 일은 엔티티와 테이블을 정확하게 매핑하는 것.

  따라서 매핑 어노테이션을 정확하게 숙지해야 한다.


객체와 테이블 매핑

@Entity

• @Entity가 붙은 클래스는 JPA가 관리, 엔티티라 한다.
• JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 필수

=> 붙지 않으면 JPA가 관리하지 않는 클래스

 

• 주의
   • 기본 생성자 필수(파라미터가 없는 public 또는 protected 생성자)
   • final 클래스, enum, interface, inner 클래스 사용X
   • 저장할 필드에 final 사용 X

 

@Entity 속성 정리

• 속성: name

    • JPA에서 사용할 엔티티 이름을 지정한다.
    • 기본값: 클래스 이름을 그대로 사용(예: Member)
    • 같은 클래스 이름이 없으면 가급적 기본값을 사용한다

-> 다른 패키지에 동일한 클래스명이 있는 경우 하나는 다른 이름을 써주든지 해야.

** JPA가 내부적으로 구분하는 이름이라고 생각하면 됨

 

 

@Table

  @Table은 엔티티와 매핑할 테이블을 지정

 

728x90

'Spring > JPA 공부' 카테고리의 다른 글

엔티티 매핑 3 - 필드와 컬럼 매핑  (0) 2023.08.15
엔티티 매핑 2 - 데이터베이스 스키마 자동 생성  (0) 2023.08.15
flush와 준영속 상태  (0) 2023.08.14
영속성 컨텍스트  (0) 2023.08.13
JPA의 등장과 발전  (0) 2023.08.12
Comments