askaskm 2024-12-16 | parent | ★ favorite | on: JPA/Hibernate를 버리세요(stemlaur.com)

JPA/Hibernate를 버리자는 의견에 반대합니다.

"매우 긴 공식 문서" 부분
SQL도 처음 배울 때는 어렵습니다. 복잡한 조인, 서브쿼리, 프로시져 함수 등을 완벽히 이해하는 게 쉽나요?
JPA는 처음에 핵심 개념만 이해하고 시작해도 충분합니다. 더 깊은 내용은 필요할 때 찾아보면 됩니다.
그리고 LLM이 있습니다.

"가변성과 Reflection 문제"
이는 프레임워크의 동작 방식을 이해하지 못해서 나오는 걱정입니다.
실무에서 이로 인한 실질적인 문제가 발생하는 경우는 거의 없습니다.
오히려 Reflection으로 인해 객체 매핑이 자동화되어 생산성이 크게 향상됩니다.

"지연 로딩 및 캐시"
@Lazy가 "최악의 기술"이라고요? N+1 문제를 해결하고 성능을 최적화하는 데 매우 유용한 기능입니다.
캐시 메커니즘은 오히려 성능 향상에 큰 도움이 됩니다.

"한 테이블의 특정 칼럼만 얻기"
JPQL이나 Projection을 사용하면 필요한 칼럼만 쉽게 조회할 수 있습니다.
그리고 QueryDSL과 함께 사용하면됩니다.

ORM의 목적은 SQL을 완전히 대체하는 게 아니라, 개발자가 비즈니스 로직에 더 집중할 수 있게 돕는거라 생각합니다..