취업 준비/실전 JPA

JPA 프로그래밍 - 기본편(중요한것)

2023. 5. 7. 00:31

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' 카테고리의 다른 글
  • 엔티티 설계시 주의 점
  • 실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 셋팅
  • 4/29~5/5일까지 목표
  • 4/17 ~4/23 취준 준비
가끔개발
가끔개발
가끔개발
가끔쓰는개발블로그
가끔개발
전체
오늘
어제
  • 분류 전체보기 (75)
    • 오류모음집 (8)
      • Ohouse버그 (6)
    • 포트폴리오 (14)
      • ohouseClone (12)
    • JAVA&Spring (4)
      • Settting (3)
    • Back-end (4)
    • 알고리즘 문제 (20)
      • 이론 (6)
      • DFS&BFS (2)
      • 이진탐색 (1)
      • 다이나믹 프로그래밍 (0)
      • 프로그래머스 (11)
    • 개발 잡동산이 (0)
    • 취업 준비 (19)
      • 실전 JPA (15)
    • 개발 꿀팁 (6)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 기술면접
  • 취준
  • 취준생
  • Spring
  • 이것이 코딩 테스트이다
  • java
  • 개발자
  • 동빈나
  • 백엔드
  • 신입
  • intellj
  • CS
  • 자바
  • 면접
  • programing

최근 댓글

최근 글

hELLO · Designed By 정상우.
가끔개발
JPA 프로그래밍 - 기본편(중요한것)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.