개발/JPA

JPA 객체 매핑

Zziny 2023. 1. 11. 23:05

JPA를 사용하려면 클래스와 테이블을 매핑해야 한다.

@Entity

해당 클래스를 테이블과 매핑한다고 JPA에 알려준다.

엔티티 클래스라고 한다.

@Table

엔티티 클래스에 매핑할 테이블 정보를 알려준다.

name 속성을 사용해서 테이블과 매핑한다.

어노테이션을 생략하면 엔티티의 이름을 테이블 이름으로 사용한다.

@Id

엔티티 클래스의 필드를 테이블의 기본 키(PK)에 매핑한다.

식별자 필드라고 한다.

@Column

필드를 컬럼에 매핑한다.

name 속성을 사용해서 엔티티 클래스의 필드와 테이블의 컬럼에 매핑한다.

매핑 정보가 없는 필드

매핑 어노테이션을 생략하면 필드명을 사용해서 컬럼명으로 매핑한다.

* 만약 대소문자를 구분하는 데이터베이스를 사용한다면 명시적으로 매핑해야 한다.


<예> Member 클래스와 MEMBER 테이블

매핑 정보 회원 객체 회원 테이블
클래스와 테이블 Member MEMBER
기본 키 id ID
필드와 컬럼 username NAME
필드와 컬럼 age AGE
import javax.persistence.*;

@Entity
@Table(name = "MEMBER")
public class Member {
	
    @Id
    @Column(name = "ID")
    private String id;
    
    @Column(name = "NAME")
    private String username;
    
    // 매핑 정보가 없는 필드
    private Integer age;
    ...
}