일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Thymeleaf
- jpa
- 김영한
- springdatajpa
- 스프링 핵심 기능
- 자바
- transaction
- Exception
- 스프링
- 그리디
- JPQL
- Greedy
- Servlet
- 알고리즘
- SpringBoot
- 스프링 핵심 원리
- http
- pointcut
- Android
- kotlin
- QueryDSL
- Spring Boot
- spring
- AOP
- 인프런
- JDBC
- db
- 백준
- java
- Proxy
- Today
- Total
목록flush (2)
개발자되기 프로젝트
1. 플러시 영속성 컨텍스트의 변경 내용을 DB에 반영 tx.commit() 실행되면 내부적으로 flush()실행됨. flush() 호출되면?? 무슨일이? - 변경감지, dirty checking - 수정된 엔티티 관련된 SQL을 생성하여 쓰기 지연 SQL저장소에 등록 - 쓰기지연 SQL 저장소의 쿼리를 DB에 전송(등록, 수정, 삭제) 영속성 컨텍스트를 flush하는 방법 - em.flush() 직접하든가 - tx.commit() 호출하면 flush() 자동으로 호출 됨. - JPQL 쿼리 실행하면 flush 자동 호출. 만약 persist(entity)하고 바로 JPQL을 통해 모든 엔티티 조회하면 DB에 반영이 안되어있기 때문에 불러올 수 없다. 따라서 JPA는 JPQL실행시 flush가 자동으로 ..
1. flush() flush() : JPA context에 있는 DB값을 DB에 적용하도록 함. @Test @Transactional void crud(){//create, read, update, delete userRepository.save(new User("new hyun", "newHyun@ddd.com")); userRepository.flush(); userRepository.findAll().forEach(System.out::println); } 2. saveAndFlush() save() 와 flush() 를 합한 method로 추가적인 flush() method 사용 절차가 필요 없다. @Test @Transactional void crud(){//create, read, updat..