반응형 flush1 Flush에 대해 EntityManager를 사용해 작업을 수행해도 commit을 하기 전까지는 작업의 결과들이 DB에 반영되지 않는다. 정확히는 "Flush가 호출되기 전에는 DB에 반영되지 않는다"가 맞다. Flush가 호출되면 영속성 컨텍스트 안에 보관되고있던 이전 작업들에 대한 결과가 실제 DB에 반영이 된다. (영속성 컨텍스트를 비우는 것이 아니라 영속성 컨텍스트의 변경내용을 DB에 적용시켜 주는 것이다) 영속성 컨텍스트를 Flush하는 방법 em.flush() > 직접 호출하는 것이다. transaction.commit() > 트랜잭션 커밋을 수행하면 플러시가 자동으로 호출된다. JPQL > JPQL 쿼리를 실행하면 플러시가 자동으로 호출된다. JPQL은 SQL로 번역되어 DB에 바로 접근하게 된다. 이 경우에.. 2022. 12. 8. 이전 1 다음 반응형