🍀Spring/JPA

[JPA] 엔티티 매핑 (@Entity, @Table)

말동말동현 2024. 7. 4. 20:29

엔티티 매핑 소개

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

 

@Entity

@Entity가 붙은 클래스는 JPA가 관리, 엔티티라 한다.

 

JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 필수

 

 

주의사항

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

@Entity
public class Member {

    @Id
    private Long id;
    private String name;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

 

위와 같이 Entity를 사용하여 나타낸 것이다.

 

기본 값으로는 클래스 이름을 그대로 사용(Member)

같은 클래스 이름이 없으면 가급적 기본값을 사용한다.

@Entity(name = "Member")

 

 

@Table

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

 

 

 

Reference

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

 

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

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

www.inflearn.com