Я столкнулся со следующей проблемой ... ![enter image description here](https://i.stack.imgur.com/FXRUI.png)
Я пытаюсь получить список java из ProcessDTO
объекта как process
, так и subprocess
таким образом:
[{"process": {
"code": "AB",
"name": "Proc1"
"subprocesses":
[{"code": "cd", "name": "subProc1"}],
[{"code": "ef", "name": "subProc2"}],
[{"code": "gh", "name": "subProc3"}]
}
}]
Это то, что у меня есть до сих пор:
SELECT distinct C.code as process_code, C.name as process_name, A.code as subprocess_code, A.name as subprocess_code FROM subprocess A
inner join zone B
on A.id = B.subprocess_id
inner join process C
on C.id = B.process_id
ORDER BY C.code;
Но когда я создаю класс DTO:
public class ProcessDto {
private Long id;
private String code;
private String name;
private List<Subprocess> subprocess;
}
Иquery:
@RepositoryRestResource(itemResourceRel = "process", collectionResourceRel = "processes", path = "process")
public interface ProcessDataRestRepository extends JpaRepository<Process, Long> {
@Query("Select p.code, p.name, sp.code, sp.name " +
"from Process p " +
"inner join Zone z on p.id = z.process " +
"inner join Subprocess sp on sp.id = z.subprocess")
List<ProcessDto> findProcessesAndSubprocesses();
}
Я получаю следующую ошибку:
org.springframework.core.convert.ConverterNotFoundException: не найден конвертер, способный к конвертации из типа [org.springframework.data.jpa.repository.query.AbstractJpaQuery $ TupleConverter $ TupleBackedMap] введите [dto.ProcessSubprocess]
Я не уверен, что это правильный подход.
Грязный способбыло бы сделать findAll процессов, сохранить в объекте, затем итерировать их и найти все подпроцессы ...
Есть ли какой-либо другой способ получить все из де BBDD и иметь его в объекте?