카테고리 없음
2024. 8. 6. (화) 슈퍼코딩 부트캠프 Day 58 / 주특기 7주차
태영9922
2024. 8. 6. 21:48
1. JPA Repository 기본 메소드 이용하기
- JPA Entity 더티 체킹으로 업데이트 하기
- JPA Repository 자동 쿼리 메소드 이용하기
- JPA Pagination 구현하기(쉽게 말해서 페이지 나누기)
1. JPa Entity 관계 매핑하기
- 매핑할때 고려할 3가지
- <다중성>
- 다대일 관계
- 일대다 관계
- 일대일 관계
- 다대다 관계
- <방향성>
- 다대일 단방향
- 다대일 양방향
- 양방향 관계에서 주인 정하기
2. JPA Fetch 정책과 JPQL 사용하기
- 연관 객체 들고오기
- JPQL(Java Persistence Query Language) : 자바의 객체지향 쿼리
3. JPA N+1문제
- N+1문제란 ? 연관 관계가 설정된 Entity 조회 시 조회된 갯수 만큼 조회 쿼리가 추가로 실행되는 현상
- Fetch Join 으로 해결
4. JPA와 Spring PSA
- PSA(=Portable Service Abstraction) : 휴대용 서비스 추상화
- 특정 기술에 접근하는 것이 아닌 스펙을 추상화 해서 사용할 수 있도록 하는 방법 -> 코드 이식성과 유연성 확보
- 문제 : RDB마다 SQL이 조금씩 다르다
- JPA는 여러 DB의 기술을 추상화하여 사용한다.
- JPA사용 중 DB 기술이 바뀔 경우 ->
- PSA는 결국 특정 기술에 얽매이지 않는 코드 철학을 의미한다.
#슈퍼코딩, #1:1관리형부트캠프, #백엔드, #backend, #백엔드공부, #개발공부, #백엔드개발자 #취준일기, #취준기록, #취뽀, #빡공, #HTML/CSS, #javascript, #react , #java, #spring