Please enable JavaScript.
Coggle requires JavaScript to display documents.
6장 - 데이터베이스 연동 - Coggle Diagram
6장 - 데이터베이스 연동
영속성 컨텍스트
애플리케이션 <-> DB 엔티티와 레코드 간극 해소
객체 보관
엔티티 객체의 매핑정보 DB에 반영
엔티티 객체가 영속성 컨텍스트에 들어와 JPA 관리 대상 되는 시점부터 영속성 객체 된다
세션 단위 생명 주기
엔티티 매니저
엔티티 관리하는 객체
DB 접근해 CRUD 작업
Spring Data JPA에선 리포지토리가 접근
엔티티 매니저 팩토리가 생성
DB 대응 객체
엔티티 생명주기
비영속
영속성 컨텍스트 추가 전
영속
영속성 컨텍스트 추가
준영속
영속성 컨텍스트와 분리
삭제
레코드 삭제 위해 영속성 컨텍스트에 삭제 요청
ORM
객체 관계 매핑
클래스와 테이블 불일치, 제약사항 해결
장점
쿼리 객체지향적 조작
재사용 및 유지보수
데이터베이스 종속성 감소
단점
ORM 만으론 온전한 서비스 구현 한계
객체 관점과 DB 관계 관점 간 불일치
세분성
클래스가 테이블보다 많을 수 있다
상속성
RDBMS는 상속 X
식별성
RDBMS는 기본키로 동일성
자바에선 두객체 값 같아도 다르다 판단 가능
연관성
객체지향에선 참조로 연관
방향성 존재
외래키 삽입은 양방향
탐색
쿼리 최소화 및 조인 통해 여러 테이블 로드 및 값 추출
그래프 형태의 객체 참조 방식
JPA
자바 진영 ORM 기술 표준
인터페이스의 모음
JDBC 사용
SQL 의존성 감소
SQL 생성, DB 조작, 객체 자동 매핑
하이버네이트
가장 많이 쓰이는 JPA 구현체
Spring Data JPA
JPA 편리하게 사용하도록 지원
CRUD 처리 인터페이스 제공
하이버네이트 Entity Manager 직접 다루지 않음
리포지토리 정의해 스프링이 적합한 쿼리 동적 생성