-
자바 ORM 표준 JPA카테고리 없음 2018. 8. 12. 22:01
ORM(Object Relational Mapping) : 객체와 RDB를 매핑시킨다는 개념
JPA(Java Persistence API) : ORM 개념을 자바에서 구현하기 위한 스펙(표준)
영속성 컨텍스트
1. 비영속 : 영속성 컨텍스트와 전혀 관계가 없는상태 (아직 저장되지 않아서)
2. 영속
3. 준영속 : 엔티티가 영속성 컨텍스트에 저장되어있다가 분리, 영속성 컨텍스트가 더이상 관리하지 않는 상태
4. 삭제
영속성 컨텍스트 장점
1. 1차 캐시
2. 동일성 보장 (쉽게 말해 싱글턴)
영속성 상태의 엔티티는 고유한 식별 값(ID)으로 구분되는데 같은 식별 값을 가지는 모든 엔티티는 동일
3. 트랜잭션을 지원하는 쓰기 지연
4. 변경감지
5. 지연 로딩
동작 방식
1. 1차 캐시에 엔티티를 저장
2. 쓰기 지연 SQL 저장소에 쿼리문 생성
3. 이렇게 쌓인 쿼리문은 커밋 될 때(flush가 실행될 때) 데이터베이스에 한꺼번에 반영
(영속성 컨텍스트의 변경내용을 데이터베이스와 동기화(flush))