inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

실전! Querydsl

동적 쿼리와 성능 최적화 조회 - Where절 파라미터 사용

predicate 보다 booleanExpression을 선호하는 이유가 뭔가요?

1230

코큐로큐

작성한 질문수 6

0

booleanExpression은 and, or 을 조합해서 새로운 BooleanExpression을 만드는것과 같이 메서드를 재사용할 수 있고 null을 받으면 무시해서 npe를 방지할 수 있다라고 하는 글을 봤습니다. 

근데 predicate는 and, or을 조합하지 못한다는게 이해가 안됩니다.  정확히 어떤 상황을 말하는 것인지 여쭤봐도 될까요?

predicate booleanExpression JPA java

답변 3

1

김영한

안녕하세요. DONGHO NAM님

다음과 같이 코드를 작성해보시면 eq(member).and()의 and() 부분에서 컴파일 오류가 발생하는 것을 확인할 수 있습니다.

@Test
void testQuery() {

JPAQueryFactory query = new JPAQueryFactory(em);
QMember member = QMember.member;
query.select(member)
.from(member)
.where(eq(member).and(...));

}

private Predicate eq(QMember member) {
return member.salary.eq(10);
}

감사합니다.

1

김영한

안녕하세요. DONGHO NAM님

답변을 드리고 싶은데, 어떤 문맥에서 이야기한 것인지 이해가 필요합니다.

강의 내용의 몇 분 부터 해당 내용을 설명했는지 남겨주시겠어요?

0

코큐로큐

4:00분경에 booleanExpression은 나중에 composition이 가능하다고 말씀하셔서 제가 따로 검색해서 찾아보니까 우아한 형제들의 Querydsl사용법이라는 글에서 boolean expression은 and, or 을 조합해서 재사용할 수 있어서 편리한 점이 있다라는 글을 찾았습니다. 그런데 강의영상에서 predicate를 사용하여도 where절에서 and를 사용하여도 별 문제 없이 동작해서 질문드립니다. 아래는 제가 따로 찾아본 블로그 url 입니다. 

감사합니다.

https://velog.io/@youngerjesus/%EC%9A%B0%EC%95%84%ED%95%9C-%ED%98%95%EC%A0%9C%EB%93%A4%EC%9D%98-Querydsl-%ED%99%9C%EC%9A%A9%EB%B2%95

SpringBoot 4.X에서의 Querydsl 설정

0

85

2

querydsl 오픈소스에 대한 질문

0

71

1

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

0

108

1

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

0

316

2

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

1

69

1

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

0

160

1

querydsl sum() 메서드 없어요.

0

158

2

build 디렉터리 생성

0

135

2

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

0

113

2

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

0

90

1

오타 제보 드립니다.

0

71

2

벌크 연산과 flush, clear

0

76

1

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

0

87

1

QHello import하기 문제 발생

0

147

2

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

0

68

2

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

1

195

2

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

1

200

1

querydsl 설정 문제

0

222

2

quey dsl 설정부분

0

158

2

count 쿼리 관련 질문입니다!

0

75

1

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

0

89

1

답변부탁드리겠습니다.

0

89

2

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

0

65

1

중급문법 벌크연산에서

0

81

2