우선 JPA를 사용하기 위해서 예제를 만들어 보겠다.
JPA란 한줄 요약하자면, DB와 JAVA가 서로 잘 어울릴수 있도록 매핑하는 작업을 해주는 녀석이다.
그렇다면, 레거시에서 VO 형태에서 이런식으로 데이터 바인딩을 하는 것은 모두에게 익숙할 것이다.
String id;
String username;
//getter ,setter
//to string
하지만, 이와 같이 데이터 바인딩을 하여 DAO 단에서 mybatis를 통해 sql매핑을 해주던 방식이
한단계 발전한것이 JPA 라고 생각을 하고 있다. 내가 이해한 대로는 그런거 같다.
그렇다면, 간단하게 예제를 좀 챙겨서 보면서 맛을 보자. JPA 란 녀석에 대해서.
여기 아주 간단한 Member라는 DB 테이블이 있다.
# 회원 테이블 #
CREATE TABLE MEMBER {
ID VARCHAR(255) NOT NULL,
NAME VARCHAR(255),
AGE INTEGER,
PRIMARY KEY (ID)
}
다음 테이블과 아래의 클래스간의 매핑을 해보자.
아 물론, Annotation들은 JPA에서 생긴 요 4개의 어노테이션을 기능별로 정리해 두자.
@Entity 테이블과 클래스간의 매핑을 하겠다는 어노테이션
@Table 테이블 정보를 알려준다
@Id 기본키에 매핑한다.
@Column 필드를 컬럼에 매핑한다.
@매핑정보가 없는 필드 생략하면 필드명을 사용해서 컬럼명으로 자동 매핑된다.
package com.jojoldu.webservice.domain.member;
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;
}
이제 매핑도 했으니, 뭔가 눈으로 봐야되지 않겠는가?
h2 console에 table을 생성하고 데이터를 입력해보고싶다.
다음시간에 해보자.
하루에 30분이상 공부하긴 힘들다. 나도 쉬어야되
'개발스터디 > 스프링부트 JPA 스터디 (21년)' 카테고리의 다른 글
[JPA] 5. JPA Repository 인터페이스 (0) | 2021.07.09 |
---|---|
[JPA] 4. JPA와 DB의 동작 관계 (0) | 2021.07.01 |
[JPA] 3. 엔티티 클래스와 어노테이션 (0) | 2021.07.01 |
[JPA] 1. JPA란 어떤것인가? (0) | 2021.06.27 |
[4주차] 진행사항 (0) | 2021.01.17 |