반응형

Spring Data JPA 2

[Spring JPA 공식 문서 기반] 2. JPA는 SQL을 없애지 않았다 – ORM의 책임 경계

1편에서는 ORM과 JPA가 무엇을 해결하려 했는지를 살펴봤습니다.이번 글에서는 그 문제 정의에서 자연스럽게 이어지는 가장 중요한 질문을 다뤄보겠습니다.JPA를 쓰면 정말 SQL을 안 써도 되는 걸까?이 질문에 대한 오해가 JPA 사용에서 발생하는 대부분의 문제의 출발점입니다.1. JPA = SQL 제거라는 오해JPA를 처음 접할 때 많이 듣는 설명은 대체로 이렇습니다.SQL을 직접 작성하지 않아도 된다객체만 다루면 된다이 설명은 절반만 맞고, 절반은 틀립니다.JPA를 사용한다고 해서 SQL이 사라지는 것은 아닙니다.SQL은 “보이지 않게” 될 뿐입니다.그리고 이 차이를 이해하지 못하면, JPA는 곧바로“이유 없이 느린 기술”로 보이기 시작합니다.2. 공식 문서가 말하는 ORM의 역할Spring JPA ..

[Spring JPA 공식 문서 기반] 1. ORM은 왜 탄생했을까 – JPA의 문제 정의

Spring을 사용하다 보면, 결국 반드시 마주치게 되는 기술이 있습니다.바로 JPA(Java Persistence API)입니다.JPA는 많은 개발자에게“편리한 ORM”“SQL을 안 써도 되는 기술”로 인식되곤 합니다.하지만 JPA를 어느 정도 이상 사용해 본 개발자라면, 다음과 같은 질문을 한 번쯤은 던져봤을 것입니다.왜 JPA는 항상 성능 문제의 중심에 있을까?왜 JPA 장애는 재현이 이렇게 어려울까?이 질문에 답하려면, 사용법 이전에 JPA가 무엇을 해결하려 했는지부터 다시 봐야 합니다.1. ORM이 등장하기 전의 세계ORM이 등장하기 전, 서버 애플리케이션의 데이터 접근은 대체로 다음 흐름을 따랐습니다.SQL 작성 → ResultSet 파싱 → 객체로 변환이 방식의 가장 큰 문제는 성능이 아..

반응형