JPA (Java Persistence API)
JAVA에서 제공하는 API / 자바 어플리케이션에서 RDB를 사용하는 방식을 정의한 인터페이스
자바 ORM 기술에 대한 표준 명세 (스프링 X)
데이터를 객체지향적으로 관리 > 개발자가 비즈니스 로직에 집중
동작 과정
Java 애플리케이션과 JDBC 사이에서 동작
개발자가 JPA 사용 (개발자가 JDBC API 사용 X) > JPA 내부에서 JDBC API 사용 > SQL호출 > DB 통신
ORM (Object-Relation Mapping) : DB데이터 <-mapping-> Object 필드
객체-관계 매핑 = 자바 클래스와 DB 테이블을 매핑
SQL 매핑 X, SQL 자동 생성됨 (JPA, Hibernate)
필드 변경 시 JPA에 추가만 하면 됨
JPA : 자바객체-DB 매핑 위한 인터페이스 제공
JPA 구현체(인터페이스) : Hibernate, EclipsLink, DataNucleus, OpenJPA, TopLink Essentials
Spring Data JPA : 스프링에서 제공하는 JPA 프레임워크
> Spring Data JPA가 Hibernate보다 구현체 교체/ 저장소 교체 용이
SQL Mapper : SQL <- mapping -> Object 필드
SQL로 DB 조작 (Mybatis, jdbcTemplate)
필드 변경 시 모든 SQL 수정해야 함
JDBC : Java Data Access 기술의 근간 (자바 API)
계층화 아키텍처
Reference
반응형
'CS Interview > etc' 카테고리의 다른 글
SOLID : 객체지향 설계 원칙 (+ is-a, has-a) (0) | 2022.07.24 |
---|---|
gRPC 란 : RPC, gRPC 작동원리, HTTP API (json) 비교 (0) | 2021.06.16 |
교차 출처 리소스 공유 (CORS : Cross-Origin Resource Sharing) (2) | 2021.06.16 |
DevOps에 대한 칼럼 (조대협의 서버사이드) (2) | 2021.06.16 |
마이크로 서비스란 (MSA) - 모놀리식 아키텍처, API Gateway vs ESB (0) | 2021.06.16 |