소개

안녕하세요, 밈로그(mimlog.kr)입니다.

JPA와 스프링으로 백엔드를 만들면서 실제로 부딪힌 것들을 기록하는 블로그예요.

교과서 설명을 옮기기보다 “이 상황에서 왜 이 선택을 했는지”를 남기려고 합니다. 그래서 제가 틀렸던 것도 그대로 적어둬요.

운영자

Hoony — 백엔드 개발자. JPA/Spring으로 밥 벌어먹고 있습니다.

요즘은 AI 코딩 에이전트를 실무에 붙이는 실험을 계속하고 있어요. 이 블로그를 굴리는 자동화도 그 실험 중 하나입니다.

글은 전부 제가 직접 씁니다. 검색해서 짜깁기한 글은 올리지 않아요.

대표 콘텐츠 — JPA 시리즈 8편

이 블로그의 중심축입니다. 1편부터 순서대로 읽으면 하나로 이어져요.

  1. JPA Entity, Repository 기초 정리 — 엔티티 매핑, PK 생성 전략, Repository 인터페이스
  2. 영속성 컨텍스트와 더티체킹 — 엔티티 생명주기, save() 안 불렀는데 UPDATE가 나가는 이유
  3. QueryDSL 동적 쿼리 깔끔하게 짜기 — 조건 조합, 페이징 count 쿼리 최적화
  4. N+1 문제 해결법 3가지 — batch_fetch_size 한 줄, QueryDSL로 필요한 것만 긁어오기
  5. OSIV, 기본값 true의 성능 함정 — 커넥션을 언제까지 쥐고 있는지, 꺼야 하는지 판단 기준
  6. @ManyToMany 대신 중간 엔티티 쓰기 — 편해 보이는 게 나중에 발목 잡는 이유
  7. Cascade·@Transactional 함정 — ALL 박으면 안 되는 이유, 같은 클래스에서 부르면 안 먹히는 문제
  8. 상속 관계 매핑 전략 3가지 비교 — SINGLE_TABLE, JOINED, TABLE_PER_CLASS

그 밖의 개발 기록

전체 목록은 개발 카테고리에 있습니다.

덧붙여 — 다녀온 곳 기록

주말에 아이 데리고 다녀온 곳도 따로 남깁니다. 주로 구리·하남 같은 서울 동쪽권이에요.

가기 전에 제가 궁금했던 걸 그대로 적습니다. 주차는 되는지, 아기 의자는 있는지, 유모차가 들어가는지, 웨이팅은 얼마나 되는지 같은 것들요.

사진은 전부 직접 찍은 겁니다. 요금이나 영업시간처럼 바뀌는 정보는 공식 홈페이지 기준으로 적고, 다녀온 날짜를 같이 남겨요.

이렇게 씁니다

  • 직접 겪거나 직접 가본 것만 씁니다
  • 뉴스나 자료를 인용할 때는 원문 링크를 본문에 남깁니다
  • 정보가 바뀐 걸 알게 되면 글을 고칩니다
  • 제가 틀렸던 것도 지우지 않고 남깁니다

궁금한 점이나 정정할 내용이 있으면 문의 페이지로 편하게 연락 주세요.

위로 스크롤