[DB 모르는 백엔드 탈출기 Ep.0] JPA가 다 해주는 거 아니었나요?

2025. 4. 12. 20:26·DB 모르는 백엔드 탈출기

1. 들어가며

“나는 백엔드 개발자인데… DB를 잘 몰랐다.”

 

아니, 정확히 말하자면 “몰라도 된다”고 생각했다.

 

Spring Boot를 쓰면 JPA가 알아서 다 해주는 줄 알았다.

Entity만 잘 만들면 쿼리가 자동으로 나가고,

CRUD는 그냥 되며,

join도 fetch 하나면 다 해결되는 줄 알았다.

 

…정확히 말하면

그게 해결되는 건지조차 잘 몰랐다.


2. 문제 발생

 

어느 순간부터 이상한 일들이 생기기 시작했다.

 

❌ 객체는 참조로 연결되어 있는데, DB에서는 join이 필요하다는 말이 이해되지 않았다.

❌ @OneToMany를 썼더니 insert가 두 번 나간다는 말도 처음엔 무슨 말인지 감이 오지 않았다.

❌ select 한 번 날렸을 뿐인데 콘솔에는 수십 줄의 쿼리가 쏟아졌다.

❌ flush, commit, dirty checking… 처음 보는 단어들이 튀어나왔고, 제대로 이해하지 못한 채 그대로 넘어가곤 했다.

 

내가 몰랐던 건 단지 “문법”이 아니라,
데이터베이스의 철학과 객체지향의 간극이었다.

3. 결론

이 시리즈는 그런 나의 탈출 기록이다.

📍 테이블이 뭐고, 정규화가 왜 필요한지
📍 객체와 테이블은 왜 그렇게 다르게 생겼는지
📍 ORM은 무슨 역할을 하고, JPA는 어떻게 쓰는 게 맞는지
📍 그리고, 진짜 “DB를 아는 백엔드”가 되려면 어떤 걸 알아야 하는지

 

이 시리즈를 통해,

나처럼 “JPA는 쓰는데 DB는 잘 모르는 백엔드”들이 하나씩 퍼즐을 맞춰가며 탈출하는 데 도움이 되었으면 한다.

 

당신도 지금 그 출구를 찾고 있다면,

우리 함께 탈출해보자.

 

다음 글: 2025.04.13 - [DB 모르는 백엔드 탈출기] - [DB 모르는 백엔드 탈출기 Ep.1] JPA 쓰기 전에 꼭 알아야 할 DB 기초
 

[DB 모르는 백엔드 탈출기 Ep.1] JPA 쓰기 전에 꼭 알아야 할 DB 기초

1. 들어가며많은 백엔드 개발자들이 JPA부터 배우기 시작한다.Entity 클래스를 만들고, 어노테이션을 붙이면쿼리 없이도 데이터가 저장되고 조회되는 걸 보고 이렇게 생각한다.“와, JPA가 다 해주

mingking2.tistory.com

 

'DB 모르는 백엔드 탈출기' 카테고리의 다른 글

[DB 모르는 백엔드 탈출기 Ep.4] 연관관계 주인은 누가 되어야 할까?  (0) 2025.04.16
[DB 모르는 백엔드 탈출기 Ep.3] JPA는 객체를 어떻게 관리할까?  (0) 2025.04.14
[DB 모르는 백엔드 탈출기 Ep.2] 테이블은 객체가 아니다.  (1) 2025.04.13
[DB 모르는 백엔드 탈출기 Ep.1] JPA 쓰기 전에 꼭 알아야 할 DB 기초  (0) 2025.04.13
'DB 모르는 백엔드 탈출기' 카테고리의 다른 글
  • [DB 모르는 백엔드 탈출기 Ep.4] 연관관계 주인은 누가 되어야 할까?
  • [DB 모르는 백엔드 탈출기 Ep.3] JPA는 객체를 어떻게 관리할까?
  • [DB 모르는 백엔드 탈출기 Ep.2] 테이블은 객체가 아니다.
  • [DB 모르는 백엔드 탈출기 Ep.1] JPA 쓰기 전에 꼭 알아야 할 DB 기초
mingking2
mingking2
에러와 삽질 속에서 성장하는 응애 개발자의 성장 일지
  • mingking2
    Mingking의 삽질 기록
    mingking2
  • 전체
    오늘
    어제
    • 분류 전체보기 (19)
      • 삽질로그 (10)
      • 스타트업 응애기 (1)
      • 프로젝트 도전기 (2)
      • DB 모르는 백엔드 탈출기 (5)
      • 네트워크 (1)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    server
    Java
    CompletableFuture
    DB
    batch
    orm
    Async
    WebSocket
    연관관계
    MVC
    플로우차트
    @JoinColumn
    JPA
    servlet
    spring
    context
    Sync
    RDB
    Tomcat
    n:m
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
mingking2
[DB 모르는 백엔드 탈출기 Ep.0] JPA가 다 해주는 거 아니었나요?
상단으로

티스토리툴바