Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 프로세스 동기화
- 운영체제
- 웹개발
- 자바 문제풀이
- 메모리의 불연속적 할당
- 알고리즘
- 2단계 Page Table
- 다단계 페이지 테이블
- CS
- Allocation of Physical Memory
- 프로세스 불연속 할당
- annotation
- Shared Page
- 스프링
- 스프링부트
- Page Table의 구현
- springboot
- 코드스테이츠 백엔드 과정 39기
- 메모리 관리
- Effective Access Time
- 웹 프로그래밍
- spring
- 프로세스 할당
- Segmentation with Paging
- 자바 알고리즘
- 리눅스
- jpa
- Inverted Page Table
- 문제풀이
- linux
Archives
- Today
- Total
GrowMe
[Error] PropertyReferenceException (with. Spring Data JPA) 본문
Why don't work?
[Error] PropertyReferenceException (with. Spring Data JPA)
오늘도 타는중 2022. 8. 30. 10:46PropertyReferenceException
# PropertyReferenceException
# issue 내용
# why don't work?
# 해결방법
# 알게된 점
*issue 내용






- 프로젝트 진행 중, Spring Data JPA의 메서드를 사용하다 PropertyReferenceException 에러를 만났다.
- 에러 내용을 보니 Question 타입의 question property를 찾을 수 없다는 내용이었다.
- 에러 위치를 보니, findAll 메서드의 인자로 주어진 Pageble 타입의 객체를 넣어줄 때 문제가 생긴 것 같다.
*Why don't work???
- 구글링을 해봐도 몇 시간 동안 해당 에러에 대한 명확한 내용이 나오지 않아 시간을 많이 버렸던 것 같다.
- 구글링을 해보았을 때, 주어진 몇가지 정보들을 통해 원인을 추측해 보았다.
1. Question 객체 자체가 Page<Question>에 들어가지 않는다.
2. 정렬 기준으로 준 question_id를 인식하지 못한다.
*그럼.. 어떻게 해결하면 될까??
- 원인 1번인지 확인하기 위해, 먼저 Sort만 빼고 로직을 처리해 잘들어가는지 확인해 보았다.


데이터가 잘 들어가 있음을 확인할 수 있다. 그렇다면 1번 원인은 아니다. 그럼 원인 2번일 확률이 높다는 것일텐데.. 이유를 좀 더 찾아보았다.

- StackOverFlow의 답변을 보고 영감을 얻어, Question 엔티티의 변수명을 바꿔봐야겠다고 생각했다. 그리고 그대로 실행 결과



데이터가 아주 잘 출력되고 있음을 확인할 수 있었다!
*알게된 점
- PageRequest.of() 메서드의 인자 중 Sort.by()의 인자로 주어지는 property 값(정렬기준 속성)에는 "_" 가 포함된 이름이면 해당 속성을 JPA에서 식별하지 못한다.
- 또한 Sort.by()의 인자로 주어지는 property 값은, 당연히 테이블명과 일치해야한다고 생각했는데 놀랍게도 엔티티로 매핑된 클래스 내의 필드명과 일치해야한다.