[Database] 03. QueryDSL
·
공부/Spring Boot
QueryDSL이란?앞서 JPA에 대해서 설명하였다. JPA란 Java에서 스키마를 엔티티로 매핑하여 데이터베이스를 객체 처럼 사용하게 하는 인터페이스라고 하였다.JPA같은 경우 기본적인 CRUD 같은 경우는 기존 API나 Repository를 통해서 메서드 생성만으로도 Query 질의가 가능했지만, 조금더 복잡한 쿼리를 작성하기 위해서는 JPQL 이라는 문자열 기반 쿼리를 작성해서 사용해야 했다.하지만, JPQL은 문자열 기반이기 때문에 컴파일 과정에서는 오류를 발견할 수 없으며, 결국 잘못된 JPQL은 런타임 상에서 오류를 발생한다.QueryDSL은 이러한 문제를 해결할 수 있는 도구로서, 문자열기반이 아닌 자바 코드로 타입안정성을 보장하며 쿼리를 작성할 수 있게 해주는 프레임워크다. QueryDSL..
[Database] 02. JPA
·
공부/Spring Boot
JPA란?JPA란 Java에서 ‘객체 ↔ 관계 매핑(ORM)’을 지원하기 위한 표준 인터페이스이다.JDBC와 달리 JPA는 데이터베이스와 상호작용하는 방법을 객체 지향적으로 추상화하여, 개발자가 객체를 중심으로 프로그래밍할 수 있도록 한다.실제로 JPA는 인터페이스 모음에 불과하며, 구체적인 구현체인 Hibernate, EclipseLink, DataNuclues 등을 통하여 사용할 수 있다.JPA 주요 개념엔티티(Entity)엔티티는 데이터베이스의 테이블과 매핑되는 Java 클래스이다. JPA는 엔티티 클래스를 통해 DB의 테이블 구조를 정의하고 매핑할 수 있다.엔티티 클래스는 @Entity 와 같은 어노테이션을 통해 지정하며, 클래스 필드는 테이블의 각 컬럼에 매핑된다.import jakarta.pe..