[Error] com.querydsl.core.types.ExpressionException: No constructor found for class 에러

개발자 P군·2024년 5월 27일
0
post-custom-banner

❗ 문제발생

  • 사이드 프로젝트 진행중 JPA에서 Projection.constructor을 사용할 때해당 에러가 발생했다. 해당 원인을 찾아보니 Dto.class에서 정의하는 필드와 Repository에서 select로 표현하고자하는 필드가 완전히 일치하지 않아서 발생하는 문제라고 한다!

💡 해결방안

  1. 모든 필드의 타입이 일치해야 한다.
  2. 모든 필드의 순서가 일치해야 한다.
  3. Repository와 DTO의 필드명이 다르다면 .as("별칭") 메서드를 사용해서 Dto 쪽에서의 필드명과 같도록 별칭을 지정해주도록 한다.
profile
꾸준한 발전을 지향하는 개발자

0개의 댓글