JPA 2

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