영속 상태에 관해 질문이 있습니다.
262
5 asked
저는 엔티티가 detached 되는 시점이 Transaction이 끝나는 시점 (@Transactional 애노테이션이 붙은 메서드의 호출 후)인 줄 알았는데 오늘 수업을 들으니 그게 아닌 것 같아요.
findByEmail로 조회를 하고나면 해당 트랜잭션이 끝나 detached 상태가 되는 줄 알았거든요.
그렇다면 제가 위에 서술한 부분 중 틀린 부분이 있을건데 어느 부분을 잘못 이해하고 있는지 궁금해요 !
Answer 2
2
"Transaction이 끝나는 시점"이 맞기도 하고 틀리기도 한데 OSIV 필터 때문에 영속성 관리자는 계속 열려 있어서 트랜잭션이 끝났어도 detached가 아니라 persist 상태일 수 있습니다.
OSIV 필터 때문에 영속성 관리자는 요청이 컨트롤러에 들어오기 전부터 만들어져 있고, 컨트롤러 안에서 리파지토리 사용해서 findByEmail로 엔티티를 조회할 때 당연히 리파지토리에 있는 @Transactional이 적용되서 엔티티 가져올 때 해당 엔티티는 persist 상태입니다. 그런데 영송성 관리자가 계속 현재 쓰레드에 열려 있기 때문에 컨트롤러가 @Transactional이 아니어도 해당 엔티티는 계속해서 persist 상태인 겁니다.
OSIV 필터가 없는 상태에서는 트랜잭션이 끝나는 시점이 영속성 관리자도 종료되는 시점이라고 가정하는게 맞긴합니다.
Study 개설하는 로직에 대해서 궁금점이 있습니다.
0
55
1
앱 재시작 후 회원가입
0
103
1
app.host 관련 질문이 있습니다
0
97
1
강의 버전 정보
0
125
1
event, study 참조
0
220
2
비밀번호 변경 로직 질문있습니다.
0
135
1
프로필 수정 처리 merge 질문입니다.
0
108
1
회원가입 성공 후 redirect이동시 권한 질문
0
494
3
HtmlEmailService 개발하다 생긴 의문입니다
0
250
2
postgreSql 연결하여 JPA 를 통해 테이블 생성시 ZONE 테이블 생성에서 에러가 납니다
0
431
2
수업질문 [긴급] 로그인안되는 문제 말씀해주시는 부분 반영해서 최종 질문드립니다
0
261
2
[긴급-재업로드]수업질문 로그인 안 되는 문제
0
236
1
[긴급] 로그인해도 네비게이션 바가 안 바뀌고 있습니다!! 로그인이 안 됩니다 도와주세요
0
277
1
cropper 오류 문제로 질문드립니다..
0
288
2
authentication관련 질문...
0
495
2
모임참가 취소 할때 로직 질문
0
350
3
안녕하세요 기선님 질문이있습니다..
0
229
1
HTML코드 및 강의 중간자료들
0
679
3
springSecurity
0
523
2
버전 질문입니다.
0
302
1
부트스트랩, css
0
354
2
영속성 컨텍스트 질문
0
248
2
다시 강의를 보니 드는생각..
0
352
2
5:50에 나오는 HTML코드는 어디서 찾을 수 있나여?
0
313
1

