Hash, Spring 복습 - 조예지
백엔드 위키 링크로 대체하겠습니다.
jdbc vs jpa
영속성(Persistence) 정의
•
데이터를 생성한 프로그램이 종료되더라도 사라지지 않는 데이터의 특성을 말한다.
•
속성을 갖지 않는 데이터는 단지 메모리에서만 존재하기 때문에 프로그램이 종료되면 모두 잃어버리게 된다. 때문에 파일 시스템, 관계형 데이터베이스 혹은 객체 데이터베이스 등을 활용하여 데이터를 영구적으로 저장하여 영속성을 부여한다.
Persistence Layer 정의
•
프로그램 아키텍쳐에서 데이터에 영속성을 부여해주는 계층을 말한다
•
JDBC를 이용하여 직접 구현할 수 있지만 Persistence Framework를 이용한 개발이 많다.
•
Persistence framework는 크게 SQL Mapper와 ORM으로 나눌 수 있다.
SQL Mapper
•
SQL Mapper는 SQL을 명시해줘야 한다
•
SQL Mapper는 단순히 필드를 매핑시키는 것이 목적
•
예시 jdbc,mybatis
ORM
•
ORM은 데이터베이스 객체를 자바 객체로 매핑함으로써 객체 간의 관계를 바탕으로 SQL을 자동으로 생성한다
•
ORM은 관계형 데이터베이스의 '관계'를 Object에 반영하는것이 목적
•
예시 jpa
jdbc
JDBC는 DB에 접근할 수 있도록 Java에서 제공하는 API이다.모든 Java Data Access 기술의 근간으로 모든 Persistence Framework는 내부적으로 JDBC API를 사 용한다.
Plain Text
복사
•
JDBC는 DB에 접근할 수 있도록 Java에서 제공하는 API로 Plain JDBC와 Spring JDBC가 있다.
•
수업시간 초반부에 한 방식은 Plain 후반부 한 방식은 Spring JDBC
Jpa
•
JPA는 자바 ORM 기술에 대한 표준 명세로 Java에서 제공하는 API이다. 즉, ORM을 사용하기 위한 표준 인터페이스를 모아둔 것
•
EntityManager를 통해 엔티티를 영속성 컨텍스트에 저장하고 객체와 테이블을 매핑하여 객체 지향 개발이 가능하다는 특징이 있다.