작성한 질문수
자바 ORM 표준 JPA 프로그래밍 - 기본편
프록시
작성
·
287
0
안녕하세요 이전 강의에서
em.persist(member) 후에
em.flush()
em.clear()
flush와 clear 메소드를 해주는 이유를 설명 해주셨던거 같은데 기억이 나지 않아서 여쭤봅니다.
그리고 @Identity 전략을 쓰면 em.persist() 시점에 db에 insert 쿼리를 보내게 되는데 flush가 필요한 이유를 잘 모르겠습니다.
답변 1
안녕하세요, jaho321 님. 공식 서포터즈 codesweaver 입니다..영속성 컨텍스트가 보관하고 있는 캐시된 쿼리를 flush로 해소,
그리고 1차 캐시된 객체들을 clear로 정리하기 위한 구문입니다.
일반적으로 persist()가 호출되었을 때 flush 가 발생하므로 일부러 flush를 호출하지 않아도 됩니다.
강의에서는 명시적으로 캐시가 텅 비었음을 강조하기 위해 flush 와 clear를 모두 호출합니다..감사합니다.