일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- BFS
- 백준
- appendleft
- 합 구하기
- 파이썬
- pypy3
- 연관관계
- mvc
- 완전탐색
- deque
- LCM
- 누적합
- python3
- popleft
- 우선순위큐
- 소수찾기
- C#강의
- 소수판별
- 1일1솔
- DP
- 브루투포스
- 인프런
- c#
- 프로그래머스
- spring
- Python
- 그리디 알고리즘
- JPA
- unity
- Java
Archives
- Today
- Total
jae_coding
[Spring JPA] 프록시 본문
반응형
사전적 의미
프록시 기초
em.find vs em.getReference
1) em.find(): DB를 통해서 실제 엔티티 객체 조회
2) em.getReference(): DB 조회를 미루는 가짜(프록시) 엔티티 객체 조회
프록시 특징
1) 실제 클래스를 상속 받아서 만들어진다.

2) 실제 클레스와 겉 모양이 동일하다.
3) 사용하는 입장에서 실제 객체인지 프록시 객체인지 구분하지 않고 사용한다. (이론상으로)
4) 프록시 객체는 실제 객체의 참조를 보관한다.
5) 프록시 객체를 호출하면 프록시 객체는 실제 객체의 메소드를 호출한다.
6) 프록시 객체는 처음 사용할 때 한 번만 초기화한다. 이때, 프록시 객체가 실제 엔티티로 바뀌는 것이 아닌 프록시 객체를 통해서 실제 엔티티에 접근이 가능하다.

7) 프록시 객체는 실제 엔티티를 상속받기에 타입 체크시 주의 해야한다. (비교 x, instance of 사용)
8) 영속성 컨텍스트에 찾는 엔티티가 이미 존재하면 em.getReference()를 호출해도 실제 엔티티를 반환한다.
9) 영속성 컨텍스트의 도움을 받을 수 없는 준영속 상태일 때, 프록시를 초기화하면 문제가 발생한다.
반응형
'Spring, java > Spring_JPA' 카테고리의 다른 글
[Spring JPA] 지연로딩 vs 즉시로딩 (0) | 2022.09.15 |
---|---|
[Spring JPA] 상속관계 매핑 (Superclass) (0) | 2022.09.13 |
[Spring JPA] 다양한 연관관계 매핑 (N:1, 1:N, 1:1, N:M) (0) | 2022.09.10 |
[Spring JPA] 연관관계 매핑 (0) | 2022.09.10 |
[Spring JPA] 엔티티 매핑 (0) | 2022.09.08 |
Comments