일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스프링
- date
- 프로그래머스
- 스프링부트
- 비동기
- STS
- map
- IntelliJ
- JavaScript
- 스프링 클라우드
- map()
- leetcode
- SpringBoot
- spring security
- gitlab
- 자바
- 도커
- jQuery
- 코딩테스트
- OAuth
- Spring Cloud
- spring boot
- Java
- docker
- EUREKA
- Spring
- 유레카
- JS
- GIT
- 자바스크립트
- Today
- Total
목록DEV/JPA (2)
RATSENO
플러시(flush())는 영속성 컨텍스트의 변경 내용을 데이터베이스에 반영합니다. 1. 변경 감지가 동작해서 (엔티티 수정 시) 영속성 컨텍스트에 있는 모든 엔티티를 스냅샷과 비교해서 수정된 엔티티를 찾습니다. 수정된 엔티티는 수정 쿼리를 만들어 쓰기 지연 SQL 저장소에 등록합니다. 2. 쓰기 지연 SQL 저장소의 쿼리를 데이터베이스에 전송합니다.(등록, 수정, 삭제 쿼리) 영속성 컨텍스트를 플러시하는 방법은 3가지 입니다. 1. em.flush()를 직접 호출한다. 2.트랜잭션 커밋 시 플러시가 자동 호출된다. 3.JPQL 쿼리 실행시 플러시가 자동 호출된다. 유의사항) 플러시라는 이름으로 인해 영속성 컨텍스트에 보관된 엔티티를 지우는 것으로 생각하면 안됩니다. 영속성 컨텍스트의 변경 내용을 데이터베..
아직 많은 국내 프로젝트들은 스프링 프레임워크와 SQL Mapper인 마이바티스(MyBatis)를 엮어서 많이 진행되고 있습니다. 개발자들의 대부분의 업무는 반복적인 CRUD 쿼리 작성과, 쿼리와의 싸움으로 보내게됩니다. 하지만 요즘 변화의 바람이 많이 부는지 ORM진영의 JPA에 대한 공부의 필요성을 느끼게 되어 정리해 보려합니다. 차근차근 정리해 보겠습니다. 영속성 컨텍스트 JPA를 시작하게되면 가장 많이 듣는 단어가 엔티티, 영속성 컨텍스트 입니다. 그 만큼 JPA를 공부함에 있어서 가장 중요한 단어라는 뜻일것 같습니다. ORM, JPA는 엔티티라는 객체를 이용하는 방식입니다. 이러한 엔티티를 "영구 저장하는 환경"이라는 어느 공간이라고 개념을 잡는것이 중요합니다. 이 말은 영속성 컨텍스트는 눈에 ..