실전! Querydsl - 섹션5. 실무 활용 - 순수 JPA와 Querydsl
CS/김영한 스프링 강의

실전! Querydsl - 섹션5. 실무 활용 - 순수 JPA와 Querydsl

이제 실제로 해볼거다

 

되는거 봤으니 이제 querydsl로 바꿔보자

 

 

 

JPAQueryFactory 생성하는거는 클래스 안에서 생성하거나 외부에서 생성하고 bean에 등록해서 주입받아 사용하거나 하면 된다. 선택의 문제임.

 

근데 외부에서 주입하는거면 하나의 인스턴스만 가지고 있는거일 텐데 멀티쓰레딩의 문제는 없냐? 없다. 트랜잭션 단위마다 실제로 생기는게 아니라 프록시가 생겨서~~~ 어쨌든 고민 안해도 된다. 자세한건 나중에 배우는 듯.

 

 

 

이제 동적쿼리를 해보자. 우선 builder 사용하기.

 

이제 함수 만들어 사용해보기

 

단 둘 다 동적쿼리일 때의 주의점은 where에다가 조건을 걸었으므로 모든 조건이 null이면 where가 없으니 그냥 from에 있는거 모두 불러온다. 그래서 느려질 수 있으므로 따로 조치해야 함(예외처리 하던지, limit을 걸던지 등)

 

 

실제 api 컨트롤러에 적용해보자. 그 전에 세팅 좀 한다.