JPA EntityManager(영속성 컨텍스트)를 요청을 처리하는 전체 프로세스에 바인딩 시켜주는 필터.
- 뷰를 랜더링 할때까지 영속성 컨텍스트를 유지하기 때문에 필요한 데이터를 랜더링 하는 시점에 추가로 읽어올 수 있다. (지연 로딩, Lazy Loading)
- 엔티티 객체 변경은 반드시 트랜잭션 안에서 할 것
- 영속성 컨텍스트 (Jpa EntityManager, Hibernate session)
현재 버그
- 컨트롤러에서 데이터를 변경했다. 왜 DB에 반영되지 않았을까?
서비스에서 트랜잭션 관리하는 경우
리파지토리 직접 사용 경우
스터디올래의 선택
- 데이터 변경은 서비스 계층으로 위임해서 트랜잭션안에서 처리한다.
- 데이터 조회는 리파지토리 또는 서비스를 사용한다.
실습
- 시작 커밋: https://github.com/devjun63/whiteship-studyolle/commit/1ab35c3a6be93fb342de8092a3690aa0cbce666c
- 완료 커밋: https://github.com/devjun63/whiteship-studyolle/commit/80556822d7310a98de49a3edae0db51d734cdf64
'프로젝트 정리 > 스프링과 JPA 기반 웹 애플리케이션 개발' 카테고리의 다른 글
25. 프로필 수정 처리 (0) | 2021.12.19 |
---|---|
24. 프로필 수정 폼 (0) | 2021.12.13 |
22. 프로필 뷰 (0) | 2021.12.11 |
21. 로그인 기억하기 (RememberMe) (0) | 2021.12.11 |
20. 로그인 / 로그아웃 테스트 (0) | 2021.12.10 |