해결된 질문
작성
·
288
답변 3
1
1
안녕하세요. 석민님 좋은 질문입니다.
실무에서는 JPA를 단독으로 사용하지 않고, 스프링 프레임워크와 함께 사용합니다.
스프링 프레임워크는 엔티티 매니저를 쓰레드 안전하게 동작하도록 지원해줍니다.
(쉽게 이야기해서 여러 고객이 동시에 요청해도, 각 요청 트랜잭션마다 서로 다른 엔티티 매니저를 할당합니다.)
따라서 실무에서 엔티티 매니저에 동시성 문제가 발생하는 일은 거의 없습니다.
반면에 스프링을 사용하지 않고, 엔티티 매니저를 직접 생성하고 관리할 때는 동시성 문제가 발생할 수 있습니다. 하나의 엔티티 매니저를 생성해서 공유변수 같은 곳에 넣어버리면 큰일 나는 것이지요.
여기서 설명드린 내용과 2차캐시는 관련이 없습니다.
감사합니다.
0