프로그래밍 언어/Spring

<JPA> JPA 2. 엔티티 매핑

창조적생각 2021. 11. 18. 12:51

 

본 포스팅은 김영한 선생님의 자바 ORM 표준 JPA 프로그래밍 - 기본편를 듣고 배운 것을 정리하는 글입니다.

정확하게 JPA에 대해서 배우고 싶으시다면 

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

 

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

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

www.inflearn.com

위의 강의를 보시는 것을 추천드립니다.

 

@Entity

- @Entity가 붙은 클래스는 JPA가 관리

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

 

매핑 어노테이션

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package hellojpa;
 
import javax.persistence.*;
import java.util.Date;
@Entity
public class Member {
    @Id
    private Long id;
    @Column(name = "name")
    private String username;
    private Integer age;
    @Enumerated(EnumType.STRING)
    private RoleType roleType;
    @Temporal(TemporalType.TIMESTAMP)
    private Date createdDate;
    @Temporal(TemporalType.TIMESTAMP)
    private Date lastModifiedDate;
    @Lob
    private String description;}
 
cs
어노테이션 설명
@Column 컬럼 매핑
name: 필드에 매핑할 테이블의 컬럼 이름
nullable ->not null 제약
unique ->unigue Key
length ->문자 길이 제한
@Temporal LocalDate, LocalDateTime 사용시 생략 가능
@Enumerated EnumType.ORDINAL (기본값) - enum 안의 값이 아니라 순서값 저장
EnumType.STRING - enum 이름값이 저장
@Lob BLOB, CLOB 타입 매핑
매핑하는 필드 타입이 문자면 CLOB
나머지는 BLOB
@Transient 필드 매핑x, 데이터베이스 저장,조회 x

기본 키 매핑

 

기본 키 매핑 어노테이션

@Id ->primary Key

@GeneratedValue -> 자동생성

1
2
3
@Id @GeneratedValue
    @Column(name = "MEMBER_ID")
    private Long id;
cs

 

 

 

 

728x90