inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

실전! Querydsl

기본 Q-Type 활용

첫번째 querydsl테스트 코드 에서 nullpointexception이 터졌습니다

426

최형택

작성한 질문수 5

0


[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
여기에 질문 내용을 남겨주세요.

q타입을 생성하고 import를 해주었습니다.

 

package study.querydsl;


import com.querydsl.jpa.impl.JPAQueryFactory;
import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.transaction.annotation.Transactional;
import study.querydsl.entity.Member;
import study.querydsl.entity.Team;

import javax.persistence.EntityManager;

import static study.querydsl.entity.QMember.*;

@SpringBootTest
@Transactional
public class QuerydslBasicTest {


    @Autowired
    EntityManager em;

    JPAQueryFactory queryFactory;

    @BeforeEach
    public void before() {

        Team teamA = new Team("teamA");
        Team teamB = new Team("teamB");
        em.persist(teamA);
        em.persist(teamB);


        Member member1 = new Member("member1", 10, teamA);
        Member member2 = new Member("member2", 20, teamA);
        Member member3 = new Member("member3", 30, teamA);
        Member member4 = new Member("member4", 40, teamA);
        em.persist(member1);
        em.persist(member2);
        em.persist(member3);
        em.persist(member4);

    }
    @Test
    public void startJPQL() {
        String qlString = "select m from Member m" +
                " where m.username = :username";
        Member findMember = em.createQuery(qlString, Member.class)
                .setParameter("username", "member1")
                .getSingleResult();

        Assertions.assertThat(findMember.getUsername()).isEqualTo("member1");
    }

    @Test
    public void startQuerydsl() {
        Member findMember = queryFactory
                .select(member)
                .from(member)
                .where(member.username.eq("member1"))
                .fetchOne();
        Assertions.assertThat(findMember.getUsername()).isEqualTo("member1");
    }

}

 

스크린샷 2023-04-24 오후 12.06.38.png

java jpa querydsl

답변 2

0

똔또니

before 메서드에 아래 내용 추가해주시면 될거에요! 저도 똑같은 에러나서 한참 보다가 초기화 해주는 코드 빠진거 겨우 발견해서 해결했네요 ㅎㅎ..

 

queryFactory = new JPAQueryFactory(em);

0

OMG

안녕하세요. 최형택님, 공식 서포터즈 OMG입니다.

프로젝트 코드를 확인해봐야 알 것 같습니다. 올리신 내용에서는 특이점이 보이질 않네요


전체 프로젝트를 압축해서 구글 드라이브로 공유해서 링크를 남겨주세요.
구글 드라이브 업로드 방법은 다음을 참고해주세요.

구글 드라이브 업로드 방법 링크

주의: 업로드시 권한 문제 꼭 확인해주세요


감사합니다.

SpringBoot 4.X에서의 Querydsl 설정

0

105

2

querydsl 오픈소스에 대한 질문

1

82

1

예제에서의 카운트 쿼리에서 join문과 where문은 필요없지 않나요?

0

114

1

Querydsl 6.X버전에 대해서 어떻게 생각하시나요?

0

326

2

여러 테이블 조인하여 통계치를 구하고자 할 때 어떤 방법이 더 효율적일까요

1

73

1

fetchResults()는 더이상 권장되지 않는다는데 맞나요?

0

164

1

querydsl sum() 메서드 없어요.

0

163

2

build 디렉터리 생성

0

142

2

자바 ORM 표준 JPA 프로그래밍 - 기본편 듣고 바로 학습해도 괜찮을까요?

0

116

2

현재 Querydsl에서 from절 서브쿼리를 지원하나요?

0

94

1

오타 제보 드립니다.

0

74

2

벌크 연산과 flush, clear

0

77

1

Run As Intellij 로 변경시 Q타입 import 불가

0

90

1

QHello import하기 문제 발생

0

150

2

등록된 함수 보는법(H2Dialect) 질문

0

70

2

5.0부터 Querydsl은 향후 fetchCount() , fetchResult() 를 지원하지 않기로 결정했다고 하는데 이에 맞는 강의

1

201

2

[환경설정 PDF 부트 3.0이후 설명 질문] build.gradle에 compileQuerydsl을 정의하지 않은 상태에서 Gradle->Tasks->other->compileQuerydsl을 클릭하라고 하는 이유가 무엇인가요??

1

203

1

querydsl 설정 문제

0

223

2

quey dsl 설정부분

0

159

2

count 쿼리 관련 질문입니다!

0

75

1

stringtemplate를 이용하여 where절 검색 방법 질문 드립니다.

0

90

1

답변부탁드리겠습니다.

0

91

2

(OrderSpecifier)관련 내용 어디있을가요

0

67

1

중급문법 벌크연산에서

0

84

2