inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

실전! Querydsl

프로젝션과 결과 반환 - DTO 조회

프로퍼티 접근 방법과 setter

544

high

작성한 질문수 2

1

안녕하세요 궁금한 부분이 있어 질문 남깁니다

 

7:58~ 에서

프로퍼티 접근은 setter 를 통해 값이 들어가므로
@Data 애노테이션을 지우고 직접 getter, setter를 만들어주셨습니다.

저는 setter가 없으면 오류가 날 것이라 생각하여
getter, setter를 생성하지 않고 테스트를 해보았는데 정상적으로 실행되더라고요.

 

오류가 나지 않는 게 맞는지, 그렇다면 이유가 무엇인지 궁금합니다 ㅠㅠ

 

아래는 실행한 코드입니다

public class MemberDto {

    private String username;
    private int age;

    public MemberDto() {
    }
}
@Test
public void findDtoBySetter() {
    List<MemberDto> result = queryFactory
            .select(Projections.bean(MemberDto.class,
                    member.username,
                    member.age))
            .from(member)
            .fetch();

    for (MemberDto memberDto : result) {
        System.out.println("memberDto = " + memberDto);
    }
}

 

+추가..

.....뒤늦게 MemberDto에 @ToString 을 달아 확인해보았습니다.

오류는 나지 않았지만 안에 값은 없었네요 ㅎㅎㅎ.......

 

java JPA

답변 1

2

OMG

안녕하세요. high님, 공식 서포터즈 OMG입니다.
.

동일한 궁금증을 가진 수강생분이 테스트하여 질문을 남기셨고 관련하여 영한님께서 아래와 같은 답변을 남겨주셨는데요,

https://www.inflearn.com/questions/444276/dto%EB%B3%80%ED%99%98-projections-bean-%EA%B4%80%EB%A0%A8-%EC%A7%88%EB%AC%B8%EC%9E%85%EB%8B%88%EB%8B%A4

도움을 드리고 싶어 찾아보니 아래 링크에서

https://taeu.kr/49

image

직접 setter를 만들고, setter에서 호출이 되는지 로그를 찍었을 때는 setter를 호출하더라구요.

위 링크에서 확인한 것처럼 setter에 확인용 로그를 찍어서 setter가 호출되는지 확인해보시면 좋을 것 같고,

정상동작한 것은 getter/setter가 없는 경우 Projection.field처럼 리플렉션으로 필드에 직접 접근해서 가능하지 않을까 라고 "추측" 되네요.

이유를 아시는 분 계시다면 댓글 부탁드립니다 ^^!
.
감사합니다.

0

high

감사합니다!!

SpringBoot 4.X에서의 Querydsl 설정

0

106

2

querydsl 오픈소스에 대한 질문

1

83

1

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

0

115

1

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

0

328

2

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

1

73

1

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

0

164

1

querydsl sum() 메서드 없어요.

0

163

2

build 디렉터리 생성

0

142

2

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

0

116

2

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

0

95

1

오타 제보 드립니다.

0

74

2

벌크 연산과 flush, clear

0

78

1

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

0

90

1

QHello import하기 문제 발생

0

150

2

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

0

70

2

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

1

201

2

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

1

204

1

querydsl 설정 문제

0

223

2

quey dsl 설정부분

0

159

2

count 쿼리 관련 질문입니다!

0

75

1

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

0

90

1

답변부탁드리겠습니다.

0

91

2

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

0

67

1

중급문법 벌크연산에서

0

84

2