QueryDSL 3

[QueryDSL] QueryDSL 이란?

1. QueryDSL 이란?QueryDSL은 자바 프로그래밍 언어를 사용하여 데이터베이스 쿼리를 작성할 수 있게 해주는 라이브러리이다. 문자열 기반 SQL쿼리 대신 자바 코드로 쿼리를 작성하므로 컴파일 시간에 오류를 확인할 수 있고, IDE의 지원을 받을 수 있다. 동적 쿼리나 복잡한 쿼리 작성 시 유용하며, 다양한 데이터베이스와 호환되며 다양한 모듈을 제공한다. 2. ORM과 QueryDSL의 관계ORMORM은 객체와 RDBMS간의 매핑을 자동화하는 기술이다. 주로 JPA나 Hibernate와 같은 프레임워크를 사용하여 객체 지향 언어에서 DB를 조작할 때 사용된다. ORM은 객체와 테이블 간의 매핑을 처리하고, 쿼리를 객체지향적인 방식으로 작성하도록 도와준다. Querydsl과 ORMQueryds..

[Spring] JPA - JPQL, QueryDSL, N+1 문제

JPQL - Table 이 아닌 Entity(객체) 기준으로 작성하는 쿼리를 JPQL이라고 하며 이를 사용할 수 있도록 EntityManger 또는 @Query 구현체를 통해 JPQL 쿼리를 사용할 수 있다. JQL : Entity 명으로 쿼리짤때 쓰이는 언어 (쓰이는 곳. JPQL, QueryDSL) SQL : Table 명으로 쿼리짤때 쓰이는 언어 (쓰이는 곳. JDBC, SQL Mapper) EntityManager.createQuery() - 쿼리 문자열과 Entity 를 직접 넣어서 쿼리를 작성한다. - setParameter 와 같이 key, value 문자열을 통해서 쿼리 파라미터를 매핑할 수 있다. 코드에 문자열이 들어가는게 안 좋은 이유 - 문자열은 오타가 발생할 여지가 많다. - 개발할..

[Spring] JPA - SpringData, JpaRepository, QueryDSL

SpringData 기능 목록 - 강력한 리포지토리 및 사용자 지정 객체 매핑 추상화 - 리포지토리 메서드 이름에서 동적 쿼리 파생 - 기본 속성을 제공하는 구현 도메인 기본 클래스 - 명료한 추적기능 지원(생성일시, 마지막 변경일시, 생성자, 마지막 변경자) - 사용자 지정 리포지토리 코드 통합 가능성 - JavaConfig 및 사용자 지정 XML 네임스페이스를 통한 간편한 Spring 통합 - Spring MVC 컨트롤러와의 고급 통합 - 교차 스토어 지속성에 대한 실험적 지원 SpringData Jpa와 JpaRepository의 원리 - Repository는 MarkerInterface로 특별한 기능은 없다. - Repository ~ JpaRepository 까지는 @NotRepositoryBe..

프로필사진

남건욱's 공부기록

반응형