我正在尝试从JPA存储库中获取自定义类型的对象

VisitRepository.java

@Repository
public interface VisitRepository extends JpaRepository<Visit, Long>, JpaSpecificationExecutor<Visit> {
    @Query(value = "select client_id , count(*) from visit  where (DATE(jhi_date) between :startDate and :endDate) group by client_id",nativeQuery = true)
    List<IIntegerReportData> findByDate(@Param("startDate") String startDate, @Param("endDate") String endDate);


IIntegerReportData.java

package com.mycompany.hiptest.repository;

public interface IIntegerReportData {
    Long getId();
    Integer getValue();
}


ClientRating.java

 public List<ClientsRatingDTO> findAllSorted(String startDate, String endDate, Long fieldNum) {
        List<IIntegerReportData> visitReport = visitRepository.findByDate(startDate, endDate);
        log.debug("visitReport:" + visitReport.size());

        for (IIntegerReportData visit : visitReport
        ) {
            log.debug("value: " + visit.getValue());
          }


在调试中,我得到visitReport.size()= 27(这是正确的记录数),但是
尽管每行此字段中没有空值,但每行的visit.getValue()为NULL。
怎么了?

最佳答案

您可以使用NativeQuery注释:

看一下:

https://www.baeldung.com/spring-data-jpa-query

10-01 03:26