작성자 없음
작성자 정보가 삭제된 글입니다.
작성
·
202
0
List<ContentsDtoRes> contents = queryFactory
.selectFrom(ParentEntity)
.leftJoin(ParentEntity.childList, childEntity)
.leftJoin(childEntity.childChildEntity, childchildEntity)
.where(
systemDelYnEq(condition.getDelYn()),
autoDelYnEq(condition.getDelYn())
)
.offset(pageable.getOffset())
.limit(pageable.getPageSize())
.transform(
groupBy(systemEntity.sysId).list(
new QContentsDtoRes(
parentEntity.a,
parentEntity.b,
parentEntity.c,
parentEntity.d,
parentEntity.e,
list(
new QChildDto(
childEntity.a,
childEntity.b
)
),
list(
new QchildChildDto(
childChild.a,
childChild.b,
childChild.c,
childChild.d
)
)
)
)
);
안녕하세요 강사님. ㅎ
Querydsl 의 일대다 관계에 대해서 질문이있어 올리게되었습니다.
예를들어 위와 같이 부모엔티티와 자식엔티티의 일대 다 관계가 될 경우
ParentEntity 는 존재하고 childEntity 가 없을 경우 querydsl 에서는 NPE 가 아닌
빈객체를 반환하게 되는데 아래와 같이 @QueryProject 생성자
하위에서 이렇게 빈객체를 체크하고 비워주는 작업을 할 수 밖에 없는건가요.?
this.childList.addAll(childList.stream()
.filter(child -> child.getId() != null).collect(Collectors.toList()));
this.childChildList.addAll(childChildList.stream()
.filter(childchild -> childchild.getId() != null).collect(Collectors.toList()));
}
혹시 다른 방법이 있다면 어떤 방법이 있을지 궁금합니다.
항상 좋은강의 감사합니다.! 좋은하루되세요