

JPA란?
Java Persistence API는 자바 진영의 ORM 기술 표준이다.
JPA의 특징
•쿼리를 일일히 작성할 필요가 없어 코드 작업량이 줄어든다.
•가독성이 뛰어나다.
•수정이 간편해 유지보수, 리팩토링에 용이하다.
JPA의 한계점
•매핑 설계를 잘못했을 때 성능 저하가 발생할 수 있다.
•동적 쿼리를 사용하면 가독성이 떨어져 유지보수 시 어려움이 있다.
중요한 부분
1. 양방향 연관관계
다대일(@ManyToOne) 일대다(@OneToMany)만 실무에서 사용
2. 즉시로딩과 지연로딩 실무에서는 지연로딩만 사용 – 즉시로딩 적용하면 SQL이 발생
•@ManyToOne, @OneToOne은 기본이 즉시로딩 → Lazy로 설정
•@OneToMany, @ManyToMany는 기본이 지연 로딩
N+1 문제란?
연관 관계에서 발생하는 이슈로 연관 관계가 설정된 엔티티를 조회할 경우에 조회된 데이터 갯수(n) 만큼 연관관계의 조회 쿼리가 추가로 발생하여 데이터를 읽어오게 된다. 이를 N+1 문제라고 한다.
3. JPQL 엔티티 객체지향 쿼리중하나이다.(jpa를 배운이유는 jpql을 적용하기 위해) – 실무에서는 QuesyDSL을 사용 JPQL 유사
-JPQL에서 중요한것은 fetch join – JPQL에서 성능최적화를 위해 제공 실무에 N+1문제를 대부분 fetch join으로 해결가능
- Jpa로만 사용하는 것 이아닌 복잡한 SQL문 같은 경우 mybatis를 사용
'취업 준비 > 실전 JPA' 카테고리의 다른 글
엔티티 설계시 주의 점 (0) | 2023.05.22 |
---|---|
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 셋팅 (0) | 2023.05.08 |
4/29~5/5일까지 목표 (0) | 2023.04.29 |
4/17 ~4/23 취준 준비 (0) | 2023.04.17 |
4/14 jpa 강의 (0) | 2023.04.14 |


JPA란?
Java Persistence API는 자바 진영의 ORM 기술 표준이다.
JPA의 특징
•쿼리를 일일히 작성할 필요가 없어 코드 작업량이 줄어든다.
•가독성이 뛰어나다.
•수정이 간편해 유지보수, 리팩토링에 용이하다.
JPA의 한계점
•매핑 설계를 잘못했을 때 성능 저하가 발생할 수 있다.
•동적 쿼리를 사용하면 가독성이 떨어져 유지보수 시 어려움이 있다.
중요한 부분
1. 양방향 연관관계
다대일(@ManyToOne) 일대다(@OneToMany)만 실무에서 사용
2. 즉시로딩과 지연로딩 실무에서는 지연로딩만 사용 – 즉시로딩 적용하면 SQL이 발생
•@ManyToOne, @OneToOne은 기본이 즉시로딩 → Lazy로 설정
•@OneToMany, @ManyToMany는 기본이 지연 로딩
N+1 문제란?
연관 관계에서 발생하는 이슈로 연관 관계가 설정된 엔티티를 조회할 경우에 조회된 데이터 갯수(n) 만큼 연관관계의 조회 쿼리가 추가로 발생하여 데이터를 읽어오게 된다. 이를 N+1 문제라고 한다.
3. JPQL 엔티티 객체지향 쿼리중하나이다.(jpa를 배운이유는 jpql을 적용하기 위해) – 실무에서는 QuesyDSL을 사용 JPQL 유사
-JPQL에서 중요한것은 fetch join – JPQL에서 성능최적화를 위해 제공 실무에 N+1문제를 대부분 fetch join으로 해결가능
- Jpa로만 사용하는 것 이아닌 복잡한 SQL문 같은 경우 mybatis를 사용
'취업 준비 > 실전 JPA' 카테고리의 다른 글
엔티티 설계시 주의 점 (0) | 2023.05.22 |
---|---|
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 셋팅 (0) | 2023.05.08 |
4/29~5/5일까지 목표 (0) | 2023.04.29 |
4/17 ~4/23 취준 준비 (0) | 2023.04.17 |
4/14 jpa 강의 (0) | 2023.04.14 |