7:31초쯤 영속성이 끊긴 멤버 반환
559
36 câu hỏi đã được viết
안녕하세요. 많이 찾아봤는데 없는것같기도 하고, 7:31초쯤을 시작으로 영속상태가 끊긴 멤버가 반환이 된다라는 말씀을 듣고 질문드립니다.
Service에서 반환이 되는 Controller에서 Entity Manager를 사용하기 위해서 @PersistenceContext 어노테이션을 사용해서 em을 주입받았습니다.
# MemberApiController
# MemberService

# 로그

이렇게 됬을때 PK가 1인 Member를 Controller에서 찾아보았는데, 만약에 영속성이 끊긴 Member가 반환이 된다면 로그에 "???"이라는 문구 사이에 Select문을 통해서 PK가 1인 멤버를 가져와야하지 않나요? 영속성컨텍스트에서 관리를 하지 않은 Member를 반환했고, 그 Member를 다시 찾으려고 시도하기때문입니다.
# EntityManager.contains 사용

영속성 컨텍스트에서 관리되는 Object인지 확실히 확인하기 위해서 EntityManager의 contains 메서드를 통해서 확인해보았을때 로그가 아래와 같이 나왔습니다.

결론적으로 memberService.update를 통해서 반환된 Member객체는 영속성이 끊기지 않은 객체이지 않나요??
감사합니다 :D
Câu trả lời 2
1
안녕하세요, 김태희 님. 공식 서포터즈 y2gcoder 입니다.
테스트를 통해 강의에서의 내용과 다르게 Controller 단에서도 영속성 컨텍스트의 관리를 받고 있는 member 객체를 발견했고 이 이유에 대해서 질문주셨습니다.
해당 부분은 뒷부분에 나오겠지만, OSIV와 관련된 내용입니다. 쉽게 설명드리면 스프링 부트에서는 기본적인 옵션으로 OSIV를 켜놓고 있고, 이것 덕분에 API 응답이 끝나기 전까지 영속성 컨텍스트가 유지됩니다. 그래서 컨트롤러 단에서도 영속성 컨텍스트를 유지하고 있습니다.
application.properties에서 spring.jpa.open-in-view를 false로 주고 다시 실행해보시겠습니까?
감사합니다.
0
답변 감사드립니다. 저도 강의를 쭉 진행하고나서 open-in-view에 대해서 알게 되었고, 해당 질문과 관련이 있다고 알게 되었습니다. 하지만 제가 질문드린건 영한님이 7:31초쯤에 "영속성이 끊긴 멤버가 반환이 된다"라고 말씀해 주셨는데, 회원 수정 API강의중에는 open-in-view에 대한 어떠한 설정도 없었기 때문에 기본값인 true로 되어있어서 더더욱 "반환되는 멤버는 영속성이 끊기지 않은 멤버"가 아닌가 싶어서 질문드렸습니다!
답변도 영속성 컨텍스트의 관리를 받고 있는 객체라고 말씀해주셨는데, 그러면 7:31분쯤에 영한님의 말씀("영속성이 끊긴 멤버가 반환이 된다")이 혹시 틀린건 아닌지 여쭤보고싶습니다.
강의 관련 외 질문입니다.
0
65
2
SpringBoot4 + Hibernate7 모듈 등록 방법 공유
0
86
1
BeanCreationException
0
86
3
Update 후 UpdateMemberResponse 매핑할 때
0
46
1
트랜잭션을 사용 안 할 때 커넥션은 언제 가져오나요?
0
98
2
페이징 + 검색조건 관련해서 질문드립니다.
0
70
1
Query Dsl Q파일 질문입니다.
0
81
1
루트 쿼리라는것은
0
58
1
메서드를 분리하는 기준
0
62
1
findAllWithMemberDelivery 메서드 질문드립니다.
0
108
3
연관관계 매핑을 안 쓸 경우, 사용해야 하는 전략
0
83
2
fetch join과 영속화와 OSIV의 관계
0
84
2
Distinct 사용 전 결과에 대한 의문
0
113
2
레포지토리 계층에서의 트랜잭션에 대한 의문
0
56
1
영속성 컨텍스트 생명주기의 신기한 부분이 있습니다.
0
78
2
dto 필드 속 엔티티 여부
0
58
1
뷰템플릿 사용 시
0
76
2
Result 클래스 관련 질문
0
56
1
@PostConstruct 프록시 관련 질문드립니다
0
85
1
DTO 대신 Form 사용은 안되나요?
0
133
1
OSIV ON 상태일 때
0
95
1
fetch join VS fetch join 페이징 궁금증
0
179
2
양방향 연관관계 알아보는 법?
0
104
1
16강 17강 간단 정리 이게 맞을까요 ?
0
165
2

