我正在尝试以这种方式同时拥有ProcessDTO
和process
的{{1}}对象的java列表:
subprocess
这是我到目前为止所拥有的:
[{"process": {
"code": "AB",
"name": "Proc1"
"subprocesses":
[{"code": "cd", "name": "subProc1"}],
[{"code": "ef", "name": "subProc2"}],
[{"code": "gh", "name": "subProc3"}]
}
}]
但是当我创建DTO类时:
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;
查询:
public class ProcessDto {
private Long id;
private String code;
private String name;
private List<Subprocess> subprocess;
}
我收到以下错误:
org.springframework.core.convert.ConverterNotFoundException:否 发现能够从类型转换的转换器 [org.springframework.data.jpa.repository.query.AbstractJpaQuery $ TupleConverter $ TupleBackedMap] 键入[dto.ProcessSubprocess]
我不确定这是否正确。
一种肮脏的方法是执行findAll所有进程,存储在一个对象中,然后对其进行迭代并找到所有子进程...
还有其他方法可以将BBDD中的所有内容都带到一个对象中吗?
答案 0 :(得分:3)
从该DTO创建一个接口,以便Spring引擎可以拾取它并自动创建结果对象:
public interface ProcessDto {
Long getId();
String getCode();
String getName();
String getSubprocessName();
}
有关here主题的更多信息