Spring Data Jpa Projection с @Query возвращает конвертер не найден - PullRequest
0 голосов
/ 07 мая 2018

Я пытался объединить проекцию с @Query, и я получаю NoConverterFoundException. Я не могу найти в документации, где это конкретно не разрешено. Я знаю, что могу проецировать Project на ProjectItem, потому что, если я делаю то же самое без аннотации @Query, это работает. Нужно ли специально регистрировать конвертер для этого?

Интерфейс моего репозитория

public interface ProjectRepository extends JpaRepository<Project, Integer> {
    // Doesn't work?
    @Query("select p from Project p")
    public List<ProjectItem> findAllForTest();
    // Work's okay.
    public List<ProjectItem> findAllBy();
}

DTO:

public class ProjectItem {
    private final Integer projectId;
    private final String projectName;
    private final String techstack;
    @JsonCreator
    public ProjectItem(
        @JsonProperty("projectId") Integer projectId, 
        @JsonProperty("projectName") String projectName, 
        @JsonProperty("techstack") String techstack
    ) {
        this.projectId = projectId;
        this.projectName = projectName;
        this.techstack = techstack;
    }
    public Integer getProjectId() {
        return projectId;
    }
    public String getProjectName() {
        return projectName;
    }
    public String getTechstack() {
        return techstack;
    }
}

И ошибка

2018-05-07 10: 23: 02.047 ОШИБКА 9668 --- [o-auto-1-exec-4] oaccC [. [. [/]. [DispatcherServlet]: Servlet.service () для сервлета [ dispatcherServlet] в контексте с путем [] выдало исключение [Ошибка обработки запроса; вложенное исключение: org.springframework.core.convert.ConverterNotFoundException: не найден конвертер, способный преобразовать тип [employeeeproject.model.Project] в тип [project.item.ProjectItem]] с первопричиной

...