Spring and Spring Boot/Spring Data JPA 2

JPA : QueryDSL 사용하는 방법 (feat. @Query과의 비교)

QueryDSL 왜 사용할까QueryDSL은 자바 라이브러리로, 메소드 체이닝 방식으로 쿼리를 작성합니다. 객체 지향적으로 쿼리를 작성하므로 컴파일 타임에 오류를 잡을 수 있으며 동적으로 조건을 추가하거나 제거할 수 있습니다.  그렇다면 @Query 어노테이션과는 어떻게 다를까요? @Query 어노테이션과 QueryDSL은 둘 다 JPA와 함께 사용하여 데이터베이스 쿼리를 작성하는 방법이지만, 사용 방식과 장단점이 다릅니다. JPA의 쿼리메서드만 사용하면 간편하고 자바 프로그래밍 언어로 쿼리를 조작할 수 있다는 장점이 있지만, 복잡한 쿼리문은 어렵다는 단점이 있었습니다. 이러한 문제점은 쿼리메소드에 @Query 어노테이션을 함께 사용하여 극복할 수 있습니다. 다만, @Query 어노테이션은 아래와 같은 ..

JPA : 개념과 사용 이유 (JDBC, SQL Mapper, ORM)

작성일 : 2023.07.29, 2023.08.13, 2024.05.24, 2024.08.08JPA의 개념, 그리고 관련 용어 살펴보기JPA(Java Persistence API)는 자바 개발자를 위한 객체-관계형 매핑을 제공하는 최근 스프링 개발자가 가장 많이 사용하는 데이터 처리 기술입니다. 즉, 객체와 데이터를 직접 매칭하는 것이죠. 객체-관계형 매핑 덕분에 우리는 자바 애플리케이션에서 데이터를 쉽게 저장하고 조회할 수 있습니다. 또한, 데이터베이스 작업의 최적화를 돕고, 애플리케이션의 데이터를 객체지향 관점으로 바라보고 다룰 수 있게 해줍니다.  위에서 제가 JPA는 자바 개발자를 위한 것이라고 했죠? 네, JPA는 표준 API입니다. 한마디로 라이브러리정리하면, ORM 프레임워크의 한 종그리고 ..