inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Phát triển ứng dụng web dựa trên Spring và JPA

Cập nhật hồ sơ

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

262

Key Handsome

5 câu hỏi đã được viết

2

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

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

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

spring-boot java JPA thymeleaf spring

Câu trả lời 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

496

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