我正在尝试从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