일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- javascript async await
- JavaScript
- jpa 플러시
- 코프링
- gradle 모듈 프로젝트
- js async await
- jpa 플러쉬
- spring gradle 모듈
- js fetch
- jpa준영속
- springboot 모듈
- JPA플러시
- js await
- js api 호출
- JS
- ja async
- 준영속상태
- jpa 영속성
- JPA준영속 상태
- JPA
- javascript fetch
- springboot gradle 모듈 프로젝트
- javascript api 호출
- spring 모듈 프로젝트
- javascript async
- 스프링부트
- 코틀린
- JPA플러쉬
- 코틀린 클래스
- Flutter
- Today
- Total
목록JPA (3)
매일 한줄 코딩
특징 영속 → 준영속 영속 상태의 엔티티가 영속성 컨텍스트에서 분리 (detached) 영속성 컨텍스트가 제공하는 기능을 사용 못함. 준영속 상태로 만드는 방법 em.detach(entity) 특정 엔티티만 준영속 상태로 전환 Member member = em.find(Member.class, 1L); member.setName("abc"); em.detach(member); // 변경된 내용이 수정된 쿼리가 날아가지 않음. Member member2 = em.find(Member.class, 2L); member2.setName("updateName"); // 해당건은 업데이트가 실행이 된다! tx.commit(); em.clear() 영속성 컨텍스트를 완전히 초기화 테스트 케이스 작성할때 보통 눈으로..
3. 플러시 플러시란 ? 영속성 컨텍스트의 변경내용을 데이터베이스에 반영하는 것 플러시 발생하면? 변경 감지 수정된 엔티티 쓰기 지연 SQL 저장소에 등록 쓰기 지연 SQL 저장소의 쿼리를 데이터베이스에 전송 (등록, 수정, 삭제 쿼리) 영속성 컨텍스트를 플러시하는 방법 em.flush() 플러쉬를 하더라도, 1차캐시는 없어지지 않음, 쓰기지연 SQL 저장소에 등록된 쿼리를 데이터베이스에 반영하는 과정일 뿐. 트랜젝션 커밋 ( 플러시 자동 호출) JPQL 쿼리 실행 ( 플러시 자동 호출 ) em.persist(memberA); em.persist(memberB); em.persist(memberC); query = em.createQuery("select m from Member m", Member.cl..
2. 영속성 컨텍스트 영속성 컨텍스트란? 엔티티를 영구 저장하는 환경 이라는 뜻 영속성 컨텍스트는 논리적인 개념 눈에 보이지 않음 엔티티 매니저를 통해서 영속성 컨텍스트에 접근 0.영속성 컨텍스트의 이점 애플리케이션이랑 데이터베이스 사이에 무언가의 상태가 있다. (영속성 컨텍스트) 1차 캐시 동일성(identity) 보장 트랜잭션을 지원하는 쓰기 지연 (transactional write-behind) 변경 감지 (Dirty Checking) 지연 로딩(Lazy Loading) 등등 의 이점을 가진다. 1. 1차 캐시 1-1. 엔티티 조회, 1차 캐시 //객체를 생성한 상태 (비영속) Member member = new Member(); member.setId("member1"); member.setUs..