JPA

    [Issue Tracker Project] Issue 전체 조회 시 N + 1 발생과 개선

    기록 이유 현재 Issue Controller 조회 API 중, 모든 Issue 를 조회하는 기본적인 Read API 가 존재하는데, 평소보다 많은 목 데이터를 서버, 로컬 DB 에 넣어두고 조회하니 굉장히 느리게 조회되는 것을 알게됐다. 평소 개발 시 목 데이터를 꽤 넣고 조회하는 편이 아니라 빨리 알아채지 못했고 수정하면서 다시 상기하기 위해 기록하게 됐다 🙂 기록 시작 ~ 어떤 문제가 발생했나 ? 쉽게 말하자면, JPA 를 활용하는 개발자들이 한 번씩은 꼭 겪는 현상인 N + 1 문제가 발생했다. 아래 사진과 같이 현재 프로젝트에서 가장 중요한 Issue Entity 는 여러 Entity 와 @ManyToOne, @OneToMany 관계를 맺고있는 것을 확인할 수 있다. Issue Controlle..

    [인강 복습] JPA 기본편 다양한 연관관계 매핑 (#5)

    출처 - 인프런 김영한님 자바 ORM 표준 JPA 프로그래밍 - 기본편 인강의 내용이 있기 때문에 출처를 밝힙니다. 자바 ORM 표준 JPA 프로그래밍 - 기본편 - 인프런 | 강의 JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이론이 부족하신 분들이 JPA의 기본 이론을 탄탄하게 학습해서 초보자도 실무에서 자신있게 JPA를 사용할 수 있습니다., - 강의 소개 | 인프런 www.inflearn.com 양방향 연관관계를 이해하는데 시간이 좀 오래걸렸다. 복습해도 새로워 늘 짜릿해... 이번에는 다대일 부터 다대다까지의 다양한 매핑을 복습해보자. 기록 시작 ~ 연관관계 매핑 시 고려사항 3가지 엔티티의 연관관계를 매핑할 때는 3가지를 고려해야한다. 1. 다중성 N:1, 1:N, 1:1, N:M..

    [인강 복습] JPA 기본편 연관관계 매핑 기초 (#4)

    출처 - 인프런 김영한님 자바 ORM 표준 JPA 프로그래밍 - 기본편 인강의 내용이 있기 때문에 출처를 밝힙니다. 자바 ORM 표준 JPA 프로그래밍 - 기본편 - 인프런 | 강의 JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이론이 부족하신 분들이 JPA의 기본 이론을 탄탄하게 학습해서 초보자도 실무에서 자신있게 JPA를 사용할 수 있습니다., - 강의 소개 | 인프런 www.inflearn.com 코드스쿼드 마지막 프로젝트를 진행한다고 학습을 미루다 2주만에 다시 복습을 시작했다 ! 기록 시작 ~ 연관관계 매핑에 대해 JPA 를 사용해서 관련있는 엔티티들끼리 연관관계를 매핑에 사용하게 된다. 연관관계가 필요한 이유에 대해 먼저 간단하게 알아보자. 1. DB 테이블에 맞춘 설계 방식 ? ..

    [인강 복습] JPA 기본편 요구사항 분석과 기본 매핑 까지 (#3)

    출처 - 인프런 김영한님 자바 ORM 표준 JPA 프로그래밍 - 기본편 인강의 내용이 있기 때문에 출처를 밝힙니다. 자바 ORM 표준 JPA 프로그래밍 - 기본편 - 인프런 | 강의 JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이론이 부족하신 분들이 JPA의 기본 이론을 탄탄하게 학습해서 초보자도 실무에서 자신있게 JPA를 사용할 수 있습니다., - 강의 소개 | 인프런 www.inflearn.com 오늘은 테이블 매핑, 필드와 컬럼 매핑, 기본 키 매핑 및 실습을 진행했다. 기록 시작 ~ JPA 객체와 테이블 매핑 JPA 에서 객체와 테이블을 매핑할 때, @Entity, @Table 어노테이션을 사용해서 매핑한다. 자세히 알아보자. 1. @Entity 테이블과 매핑할 객체 클래스 위에는 ..

    [인강 복습] JPA 기본편 영속 컨텍스트 까지 (#2)

    출처 - 인프런 김영한님 자바 ORM 표준 JPA 프로그래밍 - 기본편 인강의 내용이 있기 때문에 출처를 밝힙니다. 자바 ORM 표준 JPA 프로그래밍 - 기본편 - 인프런 | 강의 JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이론이 부족하신 분들이 JPA의 기본 이론을 탄탄하게 학습해서 초보자도 실무에서 자신있게 JPA를 사용할 수 있습니다., - 강의 소개 | 인프런 www.inflearn.com 영속성 컨텍스트까지 복습했기에 기록 시작 ~ 영속성 컨텍스트와 엔티티의 생명주기 영속성 컨텍스트 (Persistence Context) 는 엔티티를 영구 저장하는 환경으로, JPA 에서 가장 중요한 개념 중 하나이다. 논리적인 개념으로써 우리 눈에 보이지 않고, 영속 컨텍스트는 엔티티 매니저를..