이번 글에서는 JPA에서 기본으로 제공하는 메서드와 JPQL 둘 중 어떤 상황에서 무엇이 더 효율적인지 알아보겠습니다.
먼저 JPA의 기본 메서드들을 알아보겠습니다.
findAll() findById(id) save(member) saveAll(memberList) delete(member) deleteAll(memberList) count() exists(id) flush()
JPA는 위와 같이 기본적으로 제공하는 메서드들이 있습니다.
다음으로 Native Query를 사용한 코드를 보겠습니다.
JPQL은 직접 쿼리 문을 작성하여 조금 더 복잡한 쿼리 문을 수행할 수 있습니다. 위의 코드는 실제 사용헀던 코드로 post를 투표 수 역순으로 정렬해주는 메서드입니다.
장점
단점
장점
단점
먼저 JPA는
이게 JPA 기본 메서드의 핵심이자 꽃이죠.
JPQL은
위와 같은 상황에서 이점을 얻을 수 있는게 바로 JPQL입니다.
이렇게 보면 JPQL이 정말 좋아보이지만 JPQL을 자주 사용하지 않는 개발자들은 쿼리 문을 이해하지 못할 수 있고 가독성 부분에서 떨어질 수 있습니다. 이러한 점들도 있으니 주의하고 잘 선택하여 사용해주시길 바랍니다.
JPA와 JPQL을 비교해가며 어떤 상황에 무엇을 사용하는게 더 좋을지 설명해보았는데
신중히 선택하여 좋은 코드를 작성하시길 바랍니다.
끝까지 읽어주셔서 감사합니다.