목록Spring/QueryDSL (3)
빙응의 공부 블로그

📝프로젝션프로젝션이란 SELECT 대상을 지정하는 것을 말한다. 예를 들어보자List result = queryFactory .select(member.username) .from(member) .fetch();해당 코드는 SELECT 대상이 하나이므로 String이라는 명확한 타입으로 지정할 수 있으나만약 2개 이상이라면 튜플이나 DTO로 조회를 해야한다. 튜플 조회 List result = queryFactory .select(member.username, member.age) .from(member) .fetch(); for (Tuple tuple : result) { String username = tuple.get(me..

목차1. 검색2. 결과3. 정렬4. 페이징5. 집합6. 조인7. 서브쿼리8. Case 📝 개요 QueryDSL에서 제공하는 검색 조건에 대해 알아보자!!기본 검색 조건 쿼리 @Test public void search() {Member findMember = queryFactory .selectFrom(member) .where(member.username.eq("member1") .and(member.age.eq(10))) .fetchOne(); assertThat(findMember.getUsername()).isEqualTo("member1"); }📌 검색 조건 코드기능member.username.eq(..

📝 QueryDSL은 무엇일까요?DSL은 Domain Specific Language의 약자로, 특정 영역에 특화된 언어를 의미한다.즉 QueryDSL은 쿼리생성에 특화된 프레임워크를 의미한다. 그렇다면 QueryDSL이 필요한 이유가 무엇일까???스프링의 JPA는 객체지향 어플리케이션과 관계형 DB 사이의 패러다임 불일치를 해결하는 프레임워크이다.개발자는 객체지향 관점으로 개발하고 JPA는 자동으로 SQL쿼리문을 생성한다. 그렇기에 개발자는 SQL 관점에서 프로그래밍을 하지 않아도 된다. 그러나 완전한 분리는 불가능해 JPA는 JPQL을 지원한다.public interface EmployeeRepository extends JpaRepository { // JPQL 쿼리 사용 @Query(..