JPA 3

Spring Data JPA Projection

Projection이란?Projection은 DB에서 엔티티 전체를 조회하는 대신 필요한 필드만 선택해서 조회하는 방식을 말한다. 스프링 공식 문서를 확인해보면 이런 예시가 나온다. Projections :: Spring Data JPASpring Data query methods usually return one or multiple instances of the aggregate root managed by the repository. However, it might sometimes be desirable to create projections based on certain attributes of those types. Spring Data allows modeling dedicdocs.sprin..

BackEnd/Spring Boot 2025.10.19

QueryDSL

QueryDSL 이란 하이버네이트 쿼리 언어의 쿼리를 타입에 안전하게 생성 및 관리해주는 프레임워크이다. QueryDSL 장점기존의 MyBatis, JPQL 등의 문자열 형태로 쿼리문을 작성했을때는 쿼리문의 오류를 발견하는게 힘들지만 QueryDSL을 사용하면 자바 코드로 쿼리를 작성할 수 있어서 컴파일 오류를 통해 잘못된 쿼리가 실행되는 것을 방지할 수 있다.동적 쿼리를 매우 깔끔하게 사용할 수 있다.  QueryDSL 설정  스프링 부트 2.X 설정// Querydsl 추가 implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta' annotationProcessor "com.querydsl:querydsl-apt:${dependencyManage..

BackEnd/Database 2025.02.10

JPA란 무엇인가?

기존의 데이터베이스 문제점 1. Jdbc나 MyBatis,SQL Mapper는 SQL을 개발자가 직접 작성해야 한다.  2. 객체 - 관계의 불일치  데이터 저장 방식의 차이객체는 필드(속성) + 메서드(행위) 를 가지지만, 관계형 데이터베이스는 테이블(행, 열) 구조를 가짐.연관관계 표현의 차이객체는 참조(Reference) 를 통해 관계를 표현하지만, RDBMS는 외래키(Foreign Key) 를 사용하여 관계를 표현.이를 수동으로 처리하면 조인(Join)과 SQL 작성이 복잡해짐.상속 구조의 차이Java는 클래스 상속(Inheritance) 을 지원하지만, 관계형 데이터베이스는 직접적인 상속 개념이 없음.상속을 표현하기 위해 JOIN 테이블을 사용하거나 단일 테이블 전략 등을 적용해야 함. 이러한 ..

카테고리 없음 2025.02.10