본문 바로가기
728x90

프록시 객체2

[JPA] 프록시 프록시 기능을 구현하는 과정에서 DB에서 가져오고 싶은 정보의 범위가 비지니스 로직에 따라 다르기 마련이다. 예를 들어 Member와 Team이라는 두 개의 entity가 연관관계 상에 있을 때, 구현 목적에 따라 두 개의 데이터가 한번에 조회되는 것이 좋을수도 있고, 그렇지 않을수도 있다. 이러한 상황을 JPA는 프록시와 지연로딩이라는 개념으로 기가막히게(?) 해결해준다고 한다. 먼저 프록시의 개념은 다음과 같다. 프록시 기초 em.find(): 앞서 살펴본 데이터베이스를 통해 실제 엔티티 객체를 조회하는 메서드 em.getReference(): 데이터베이스 조회를 미루는 가짜(프록시) 엔티티 객체를 조회하는 메서드 기존에 알던 EntityManager의 find method 말고, getReferen.. 2023. 2. 15.
[Spring] 빈 스코프 알아보기 빈 스코프란? 지금까지 살펴본 빈은 스프링 컨테이너와 함께 생성되어, 스프링 컨테이너가 종료될 때까지 유지된다고 배웠다. 그러나, 이것은 스프링 빈이 기본적으로 싱글톤 스코프로 생성되기 때문이다. 여기서 빈 스코프라는 말은 말 그대로 빈이 존재할 수 있는 범위를 의미한다. 스프링은 다양한 스코프를 지원한다. 싱글톤: 기본 스코프, 스프링 컨테이너의 시작부터 종료까지 유지되는 가장 넓은 범위의 빈 스코프 프로토타입: 스프링 컨테이너는 프로토타입 빈의 생성과 의존관계 주입까지만 관여하고, 이후에는 더 관리하지 않음. 매우 짧은 범위의 스코프이다. 웹 관련 스코프 request: 웹 요청이 들어오고 나갈 때까지 유지되는 스코프 session: 웹 세션이 생성되고 종료될 때까지 유지되는 스코프 applicati.. 2023. 1. 7.
728x90