- 코딩 공부

JPA 정리 - 어디인지 모르겠음

방개입니다 2023. 6. 17. 15:30

Page: 추가 count쿼리 결과를 포함하는 페이징 

Slice : 추가 count쿼리 없이 다음 페이지만 확인 가능(내부적으로 limit + 1조회) 

다음페이지에 리스트가 있는지 없는지 알수가 있다. 

List: 추가 count쿼리 없이 결과만 반환 

 

주의: Page는 1부터 시작이 아니고 0부터 시작이다. 

 

 

벌크성 수정 쿼리 

JPA는 더티체킹: 변경 감지를 하는데 업데이트 쿼리가 나가는데 벌크성 수정 쿼리는 한번에 한번씩 나간다. 

 

벌크성 쿼리 한 다음에는 영속성 컨텍스트를 다 날려버려야한다. 실제 기입하고자하는 값과 디비에 들어가 있는 값이 다르기 때문에. 

 

패치조인은 하나의 쿼리를 여러개의 쿼리로 퉁치는거 

Jpql을 쓰는데 레프트 조인 문뒤에 바로 패치를 쓰는거 

entity graph annotation 

패치조인을 쓰면은 lazy는 필요할때만 불러오는데 Fetch조인은 적용하면 팀이랑 한 쿼리문안에서 한번에 불러올수있게 해준다. 

 

-> 재사용성이 높다. 

 

여러번 조회할껄 한번에 조회한다. 일대다에서 유용한건데 맴버하나에 팀이 엄청 많음 

 

지연 로딩(lazy) 맴버를 조회해도 팀을 조회를 안해 팀이 당장 필요가 없기때문에 성능에 좋다.