일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 백준 2146 다리 만들기
- 백준 1516 게임 개발
- 프로그래머스 순위
- 프로그래머스 등굣길
- 가장 긴 팰린드롬 파이썬
- 백준 1613 역사
- 반도체 설계 파이썬
- 램프 파이썬
- 게임 개발 파이썬
- 프로그래머스 베스트앨범
- 백준 1034 램프 파이썬
- 백준 2352 반도체 설계 파이썬
- 가장 긴 바이토닉 부분 수열 파이썬
- 베스트앨범 파이썬
- 다중 컬럼 NOT IN
- 백준 1238 파티 파이썬
- 순위 파이썬
- SQL SERVER 장비교체
- 프로그래머스 여행경로
- 역사 파이썬
- 등굣길 파이썬
- 백준 1043 거짓말 파이썬
- 백준 11054.가장 긴 바이토닉 부분 수열
- 프로그래머스 가장 긴 팰린드롬
- 트리의 지름 파이썬
- 다리 만들기 파이썬
- 프로그래머스 순위 파이썬
- 백준 1167 트리의 지름 파이썬
- SQL SERVER MIGRATION
- SWEA
- Today
- Total
공부, 기록
JPA - 02 - 영속성 컨텍스트 본문
영속성 컨텍스트는 App과 DB 사이에서 효율적으로 데이터에 접근하고 관리하는 목적으로 사용되는 개념인 듯 하다.
영속성 컨텍스트는 모든 영속성 ID에 대해 고유한 엔티티 인스턴스가 있는 엔티티 세트입니다. 영속성 컨텍스트 내에서 엔터티는 관리 됩니다. EntityManager는 자신의 라이프 사이클을 제어하고, 그들은 데이터 저장소 리소스에 액세스 할 수 있습니다.(참조 : openjpa.apache.org)
엔티티의 생명 주기
Managed : 엔티티가 엔티티 매니저를 통해 영속성 컨텍스트에 저장 된 상태
Detached : 영속성 컨텍스트에 저장되었다가 분리된 상태
New/Transient : 영속성 컨텍스트에 저장하지 않은 상태
Removed : 영속성 컨텍스트에서 삭제된 상태
영속성 컨텍스트 사용의 장점
- 1차 캐시
- 동일성 보장
- 트랙잭션을 지원하는 쓰기 지연
- 변경 감지
- 지연 로딩
1차 캐시 : find 메소드가 1차 캐시를 먼저 확인하고 없는 경우 DB에 접근
트랙잭션을 지원하는 쓰기 지연 : commit 을 할 경우 flush와 commit 두 단계로 이루어 지는데 Insert 등 트랜잭션이 db에 바로 전달되지 않고 쌓여 있다가 flush를 통하여 동기화를 한 후 commit 이 이루어져 db에 접근 횟수를 줄일 수 있다.
변경 감지 : Entity를 수정한 후 Commit하면 알아서 Update가 됨.
참조 :
https://ultrakain.gitbooks.io/jpa/content/chapter3/chapter3.4.html
'공부 > 소소한 개발' 카테고리의 다른 글
카프카 다중 컨슈머 설정 (multi kafka consumer config) (0) | 2021.09.04 |
---|---|
GET POST PUT DELETE OPTION PATCH (0) | 2021.09.04 |
JPA - 01 - 기본 개념 (0) | 2021.08.07 |
비동기 처리 (0) | 2021.07.31 |
ELK 스택 (0) | 2021.07.18 |