【发布时间】:2021-08-13 11:48:52
【问题描述】:
我有这 3 个独立的表,即学生、教师和主题。这里的独立是指这些表之间没有关系。
我想要所有这些表的计数。 SQL 查询看起来像 -
SELECT
(SELECT COUNT(*) FROM Student as ST,
(SELECT COUNT(*) FROM Teacher as TE,
(SELECT COUNT(*) FROM Subject as SU
现在我想将此结果映射到 dto 。 DTO 看起来像
public class CountDto{
Integer student;
Integer teacher;
Integer subject;
}
存储库调用看起来像 -
@Query(value = "SELECT\r\n"
+ " (SELECT COUNT(*) FROM Student) as ST, \r\n"
+ " (SELECT COUNT(*) FROM Teacher) as TE,\r\n"
+ " (SELECT COUNT(*) FROM Subject) as SU", nativeQuery = true)
public CountDto getCount();
调用此函数时出现以下错误提示
"message": "Failed to convert from type [java.lang.Object[]] to type [com.rbl.mdm.dto.CountDto ] for value '{16, 16 , 34}'; nested exception is org.springframework.core.convert.ConverterNotFoundException: No converter found capable of converting from type [java.lang.Integer] to type [com.rbl.mdm.dto.CountDto]"
我应该如何将我的响应转换为所需的 DTO?
【问题讨论】:
-
也许this 会有所帮助。
标签: java spring-boot dto