토막숏 폼 블로그

JAVA Hibernate Session.FlushMode

최적화를 위해 Transaction context안에서 Entity의 변경사항이 있더라도 기본적으로 영속성 Context에서 관리하다가 실제로 DB에 변경사항을 반영하는 것은(=flush) FlushMode에 따라 결정된다.

session.flush() commit 영속성 컨텍스트의 상태가 쿼리 결과에 영향을 미치는 경우
ALWAYS O O O
AUTO (= default) O O O
COMMIT O O X
MANUAL O X X
(ALWAYS의 경우에는 항상 flush 된다.)

영속성 컨텍스트의 상태가 쿼리 결과에 영향을 미치는 경우 예시

userRepository.save(new User());
val users = userRepository.findAll(); // flush

당겨서 다음 글 보기

프로필 사진

작성자

0