반응형

2025/02 4

Spring JPA과 QueryDSL

Spring JPA스프링 데이터 JPA는 JPA를 사용할때 지루하게 반복하는 코드를 자동화 해준다. 이미 라이브러리는 포함되어있다. MemberRepository를 스프링 데이터 JPA로 변경해보자.public interface MemberRepository extends JpaRepository { //select m from Member m where m.name = ? List findByName(String name);}public class MemberService { private final MemberRepository memberRepository; //회원 가입 @Transactional public Long join(Member member) { ..

공부/Spring Boot 2025.02.20

API 개발 고급 - 실무 필수 최적화

OSIV와 성능 최적화Open Session In View : 하이버 네이트Open EntityManager In View : JPA(관례상 OSIV라고 한다.) spring.jpa.open-in-view : JPA 기본값 애플리케이션을 동작하면 시작지점 로그에 warn이 하나 뜨게 되는데, WARN 6920 --- [  restartedMain] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. spring.jpa.open-in-view is enabled by default라는 warn 로그가 출력되는 것을 알 수 있다. OSIV 전략은 트랜잭션 시작(서비스계층의 @Transactional)..

공부/Spring Boot 2025.02.19

API 개발 고급 - 컬렉션 조회 최적화

https://surrealcode.tistory.com/121 API 개발 고급 - 지연 로딩과 조회 성능 최적화https://surrealcode.tistory.com/120 API 개발 고급 - 준비현업에서는 API 개발을 한 이후 성능이 나오지 않아 튜닝을 하기도 하는데 보통은 아래와 같은 문제를 지키지 않아 발생한다.- 지연로딩, 조회 성surrealcode.tistory.com앞서 본 API 개발은 xToOne 관계만 있는 개발이었다. 이번에는 컬렉션인 OneToMany 를 조회하고, 최적화를 진행해 볼 예정이다. 주문내역에서 추가로 주문한 상품 정보를 추가로 조회하자.Order 기준으로 컬렉션인 'OrderItem'과 'Item'이 필요하다. 컬렉션 조회 같은 경우에는 DB 입장에서 뻥튀기가..

공부/Spring Boot 2025.02.19

API 개발 고급 - 지연 로딩과 조회 성능 최적화

https://surrealcode.tistory.com/120 API 개발 고급 - 준비현업에서는 API 개발을 한 이후 성능이 나오지 않아 튜닝을 하기도 하는데 보통은 아래와 같은 문제를 지키지 않아 발생한다.- 지연로딩, 조회 성능 최적화- 컬렉션 조회 최적화- 페이징, 한계 돌surrealcode.tistory.com개발에 앞서, 이전 포스팅을 참고하여 조회용 데이터 샘플을 넣어주도록 하자.  지연 로딩과 조회 성능 최적화이전까지는 단일 엔티티만을 조회하는 API를 만들었다. 이번엔 주문 + 배송정보 + 회원을 조회하는 API를 만들어본다.여러 정보를 조회하는 API의 문제는 지연 로딩이다.지연 로딩 때문에 발생하는 성능 문제를 단계적으로 해결해보자. **참고 : 지금부터 설명되는 내용은 정말 중..

공부/Spring Boot 2025.02.03
반응형