Spring JPA «PersistentEntity не должен быть нулевым» с совокупным DTO - PullRequest
0 голосов
/ 01 июня 2018

Мое резюме DTO выбрасывает PersistentEntity не должно быть нулевым!Я использую сводный DTO для возврата агрегатов sum () и count ().Я добавил пользовательские запросы в интерфейс исходного репозитория.

public interface SettlementHistoryRepository extends JpaRepository<SettlementHistory, String> {

  @Query("SELECT new com.x.service.report.dto.CategoryAmountSummary(h.organizationName, count(h.id), sum(h.rebateAmount)) FROM SettlementHistory h WHERE h.fundDate BETWEEN :rangeStart AND :rangeEnd GROUP BY h.organizationName ORDER BY h.organizationName")
  List<CategoryAmountSummary> summarizeRebateAmountByOrganizationWhereFundDateIsBetweenOrderByFundDate(
        @Param("rangeStart") @DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm'Z'") Date rangeStart,
        @Param("rangeEnd") @DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm'Z'") Date rangeEnd
  );

Метод приводит к этой ошибке:

  ERROR --- [nio-8080-exec-7] o.s.d.r.w.RepositoryRestExceptionHandler : PersistentEntity must not be null!

Я бы возвратил класс сущности, если бы не мой счетчикдля каждой категории.Как еще я могу пойти по этому поводу?

1 Ответ

0 голосов
/ 03 июня 2018

В конце концов, Spring Data Rest не понравился репозиторий, возвращающий объект другого типа.Чтобы обойти проблему, я добавил Rest Controller, который, в свою очередь, вызвал метод агрегации в хранилище.Он смог вернуть резюме DTO без проблем.

...