Spring Data JPA는 JPQL 쿼리를 실행하고 결과를 다음과 같이 검색하는 메커니즘을 제공합니다. 사용자 정의 개체.
1단계: Bean 클래스 정의
원하는 개체 구조를 나타내는 간단한 Bean 클래스를 만듭니다.
<code class="java">public class SurveyAnswerStatistics { private String answer; private Long count; // Constructor for object instantiation }</code>
2단계: 저장소 메서드에서 Bean 사용
Bean 클래스의 인스턴스를 반환하도록 저장소 메서드를 수정합니다.
<code class="java">public interface SurveyRepository extends CrudRepository<Survey, Long> { @Query("SELECT new com.path.to.SurveyAnswerStatistics(v.answer, COUNT(v)) FROM Survey v GROUP BY v.answer") List<SurveyAnswerStatistics> findSurveyCount(); }</code>
네이티브 쿼리를 사용하는 경우 JPA 관련 구문은 지원되지 않습니다. 대신 다음을 사용하세요.
1단계: 투영 인터페이스 생성
원하는 객체의 속성을 지정하기 위한 투영 인터페이스 정의:
<code class="java">public interface SurveyAnswerStatistics { String getAnswer(); int getCnt(); }</code>
2단계: 쿼리의 결과 필드 매핑
쿼리의 SQL AS 키워드를 사용하여 결과 필드를 프로젝션 속성에 매핑:
<code class="java">@Query(nativeQuery = true, value = "SELECT v.answer AS answer, COUNT(v) AS cnt FROM Survey v GROUP BY v.answer") List<SurveyAnswerStatistics> findSurveyCount(); }</code>
위 내용은 Spring 데이터 JPA 그룹화 쿼리 결과에서 사용자 정의 개체를 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!