728x90

이 블로그는 최범균 님의 JPA 기초 강의를 듣고 작성한 블로그입니다.

일단 해보기 (jpa 3.0 기준)

JPA 특징

  1. 애노테이션을 이용한 매핑 설정
    • xml 파일을 이용한 매핑 설정도 가능
  2. String, int, LocalDate 등 기본적인 타입에 대한 매핑 지원
  3. 커스텀 타입 변환기 지원
    • 내가 만든 Money 타입을 DB 칼럼에 매핑 가능
  4. 벨류 타입 매핑 지원
    • 한 개 이상 칼럼을 한 개 타입으로 매핑 가능
  5. 클래스 간 연간 지원 : 1 - 1, 1 - N, N - 1, N - M
  6. 상속에 대한 매핑 지원
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;

일단 해보기 정리

  1. 간단한 설정으로 클래스와 테이블 간 매핑 처리
  2. EntityManager를 이용해서 DB 연동 처리
  3. 객체 변경만으로 DB 테이블 업데이트
  4. 쿼리 작성 x

https://www.youtube.com/watch?v=Zwq2McbFOn4&list=PLwouWTPuIjUi9Sih9mEci4Rqhz1VqiQXX&index=1 

728x90

+ Recent posts