Java

[0621] 카드 추천 기능 개발

SN.Flower 2024. 6. 21.

Spring과 EntityManager

엔티티 매니저는 Singleton이어도 Spring과 엮어서 쓰면 동시성 문제와 관련 없이 트랜잭션 단위로 분리되서 동작함.

Spring이 주입해주는 엔티티 매니저는 실제 동작 시점에 진짜 엔티티 매니저를 찾아주는 프록시용 가짜 엔티티 매니저임.

이 가짜 엔티티 매니저는 실제 사용 시점에 트랜잭션 단위로 실제 엔티티 매니저(영속성 컨텍스트)를 할당해줌.

 

Repository 분리에 관하여

Spring Data JPA와 QueryDSL을 사용할 때, CustomRepository를 사용하는 것에만 종속되지말고, 특정 화면이나 기능에만 사용되는 쿼리문이라면 별도의 QueryRepository 클래스를 생성하여 사용하는 것도 고려해보자. 

댓글