Skip to content

Latest commit

 

History

History
39 lines (31 loc) · 1.74 KB

2.jpa-start.md

File metadata and controls

39 lines (31 loc) · 1.74 KB

02. JPA 시작

매핑 어노테이션

  • JPA는 매핑 어노테이션을 분석해서 어떤 객체가 어떤 테이블과 관계가 있는지 알아낸다.
package jpabook.start;

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;

    ...
}
  • @Entity
    • 이 클래스를 테이블과 매핑한다고 JPA에게 알려준다. 이렇게 @Entity가 사용된 클래스를 엔티티 클래스라 한다.
  • @Table
    • 엔티티 클래스에 매핑할 테이블 정보를 알려준다. 여기서는 name 속성을 사용해서 Member 엔티티를 MEMBER 테이블에 매핑했다. 이 어노테이션을 생략하면 클래스 이름을 테이블 이름으로 매핑한다. (더 정확히는 엔티티 이름을 사용한다.)
  • @id
    • 엔티티 클래스의 필드를 테이블의 기본 키(primary key)에 매핑한다. @id가 사용된 필드를 식별자 필드라 한다.
  • @Column
    • 필드를 컬럼에 매핑한다. 여기서는 name 속성을 사용해서 Member 엔티티의 username 필드를 MEMBER 테이블의 NAME 컬럼에 매핑했다.
  • 매핑 정보가 없는 필드
    • 매핑 어노테이션을 생략하면 필드명을 사용해서 컬럼명으로 매핑한다. 만약 대소문자를 구분하는 데이터베이스를 사용한면 @Column(name="AGE") 처럼 명시적으로 매핑 해야한다.