작성
·
1.1K
0
booleanExpression은 and, or 을 조합해서 새로운 BooleanExpression을 만드는것과 같이 메서드를 재사용할 수 있고 null을 받으면 무시해서 npe를 방지할 수 있다라고 하는 글을 봤습니다.
근데 predicate는 and, or을 조합하지 못한다는게 이해가 안됩니다. 정확히 어떤 상황을 말하는 것인지 여쭤봐도 될까요?
답변 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