인프런 커뮤니티 질문&답변
em.clear() 후 member.getId()
작성
·
188
1
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
안녕하세요 자바ORM표준 JPA프로그래밍 - 기본편을 들으면서 기초를 다지고 있습니다. 관련 질문들이 있는지 찾아봤는데
말끔히 해소되지 않는 부분이 있어서요
id 생성전략은 AUTO로 두었습니다.
AUTO에서는 em.persist, 즉 영속화할 때 id생성을 위해서 DB로부터 id값을 가져와야 하기 때문에
call next value for hibernate_sequence 다음과 같은 쿼리를 통해 id값을 가져온다고 이해했습니다.
해당 코드에서는 영속화를 하고 flush()를 진행한 후에
clear()를 진행하는데, clear()는 해당 영속성 컨텍스트를 모두 비우는 것인데, find메서드에서 인자값으로
member.getId()를 넣어줬는데 실제로 값이 있다는 것에서 조금 미묘하게 헷갈려서요
persist할 때 db로부터 id값을 알아온 것은 해당 영속성컨텍스트를 비워줘도 사용이 가능한건가요?
id값을 알고있는 것과 영속성컨텍스트를 비우는 것은 영향을 미치지 않는다고 봐도되는것인가요?
답변
답변을 기다리고 있는 질문이에요
첫번째 답변을 남겨보세요!




