강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

gksdudrb922님의 프로필 이미지
gksdudrb922

작성한 질문수

실전! Querydsl

시작 - JPQL vs Querydsl

JPAQueryFactory를 필드로 제공하는 경우

작성

·

356

2

new JPAQueryFactory(em)을 굳이 @BeforeEach에 포함시켜야 할까 생각이 들어 코드를 다음과 같이 수정해봤는데요.

@Autowired
EntityManager em;

JPAQueryFactory queryFactory = new JPAQueryFactory(em);

@BeforeEach
public void before() {
// queryFactory = new JPAQueryFactory(em);

그리고 테스트를 실행하면 queryFactory.select(m) 부분에서 NullPointException이 발생합니다.

제 생각에는 EntityManager가 스프링 빈으로 등록되기 전에 new를 통해 JPAQueryFactory를 생성하려 하니 문제가 생겼다고 생각했는데 맞을까요?

아니라면 어떤 이유로 exception이 생기는지 여쭙고 싶습니다:)

퀴즈

51%나 틀려요. 한번 도전해보세요!

Querydsl의 가장 큰 장점 중 하나로, JPQL과 비교하여 개발자가 얻을 수 있는 이점은 무엇일까요?

런타임 성능 자동 최적화

자동 파라미터 바인딩으로 SQL Injection 방지

컴파일 시점에 쿼리 문법 오류 감지

JPQL보다 더 간결한 네이티브 쿼리 작성

답변 2

1

gksdudrb922님의 프로필 이미지
gksdudrb922
질문자

감사합니다~~!!

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. gksdudrb922님

생각하신 내용이 맞습니다^^!

객체가 먼저 생성되고, 이후에 @Autowired가 주입되기 때문에 순서상 문제가 발생합니다.

감사합니다.

gksdudrb922님의 프로필 이미지
gksdudrb922

작성한 질문수

질문하기