728x90
이 블로그는 최범균 님의 JPA 기초 강의를 듣고 작성한 블로그입니다.
일단 해보기 (jpa 3.0 기준)
JPA 특징
- 애노테이션을 이용한 매핑 설정
- xml 파일을 이용한 매핑 설정도 가능
- String, int, LocalDate 등 기본적인 타입에 대한 매핑 지원
- 커스텀 타입 변환기 지원
- 내가 만든 Money 타입을 DB 칼럼에 매핑 가능
- 벨류 타입 매핑 지원
- 한 개 이상 칼럼을 한 개 타입으로 매핑 가능
- 클래스 간 연간 지원 : 1 - 1, 1 - N, N - 1, N - M
- 상속에 대한 매핑 지원
DB USER 생성
create database jpabegin CHARACTER SET utf8mb4;
CREATE USER 'jpauser'@'localhost' IDENTIFIED BY 'jpapass';
CREATE USER 'jpauser'@'%' IDENTIFIED BY 'jpapass';
GRANT ALL PRIVILEGES ON jpabegin.* TO 'jpauser'@'localhost';
GRANT ALL PRIVILEGES ON jpabegin.* TO 'jpauser'@'%';
create table jpabegin.user (
email varchar(50) not null primary key,
name varchar(50),
create_date datetime,
) engine innodb character set utf8mb4;
JPA 코드
@Entity DB 테이블과 매핑할 대상
@Table(name = "user") user 테이블과 매핑
public class User {
@Id 식별자에 대응
private String email;
private String name;
@Column(name = "create_date") create_date 칼럼과 매핑 칼럼이름과 필드 이름이 다를때 사용
private LocalDateTime createDate;
일단 해보기 정리
- 간단한 설정으로 클래스와 테이블 간 매핑 처리
- EntityManager를 이용해서 DB 연동 처리
- 객체 변경만으로 DB 테이블 업데이트
- 쿼리 작성 x
https://www.youtube.com/watch?v=Zwq2McbFOn4&list=PLwouWTPuIjUi9Sih9mEci4Rqhz1VqiQXX&index=1
728x90
'개발 > JPA' 카테고리의 다른 글
JPA 기초) 3. 엔티티 식별자 생성 방식, @Embeddable, @Embeddable 다른 테이블에 매핑하기, 컬렉션 매핑 (0) | 2022.08.23 |
---|---|
JPA 기초) 2. 코드 구조 & 영속 컨텍스트, 엔티티 CRUD 처리, 엔티티 매핑 설정 (0) | 2022.08.23 |