프로퍼티 접근 방법과 setter
544
작성한 질문수 2
안녕하세요 궁금한 부분이 있어 질문 남깁니다
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 을 달아 확인해보았습니다.
오류는 나지 않았지만 안에 값은 없었네요 ㅎㅎㅎ.......

답변 1
2
안녕하세요. high님, 공식 서포터즈 OMG입니다.
.
동일한 궁금증을 가진 수강생분이 테스트하여 질문을 남기셨고 관련하여 영한님께서 아래와 같은 답변을 남겨주셨는데요,
도움을 드리고 싶어 찾아보니 아래 링크에서

직접 setter를 만들고, setter에서 호출이 되는지 로그를 찍었을 때는 setter를 호출하더라구요.
위 링크에서 확인한 것처럼 setter에 확인용 로그를 찍어서 setter가 호출되는지 확인해보시면 좋을 것 같고,
정상동작한 것은 getter/setter가 없는 경우 Projection.field처럼 리플렉션으로 필드에 직접 접근해서 가능하지 않을까 라고 "추측" 되네요.
이유를 아시는 분 계시다면 댓글 부탁드립니다 ^^!
.
감사합니다.
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





