inflearn logo
강의

Course

Instructor

Developing Spring and JPA based web applications

Processing Profile Update

영속 상태에 관해 질문이 있습니다.

262

Key Handsome

5 asked

2

저는 엔티티가 detached 되는 시점이 Transaction이 끝나는 시점 (@Transactional 애노테이션이 붙은 메서드의 호출 후)인 줄 알았는데 오늘 수업을 들으니 그게 아닌 것 같아요.

findByEmail로 조회를 하고나면 해당 트랜잭션이 끝나 detached 상태가 되는 줄 알았거든요.

그렇다면 제가 위에 서술한 부분 중 틀린 부분이 있을건데 어느 부분을 잘못 이해하고 있는지 궁금해요 !

spring-boot java JPA thymeleaf spring

Answer 2

2

Key Handsome

아.. 트랜잭션이 끝나도 영속성 관리는 유지되는 상태였기 때문이군요. 전 시간에 배운 걸 다시 물어본 셈이 되었네요. 감사합니다 ㅠ

2

whiteship

"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