【发布时间】:2020-04-29 19:10:20
【问题描述】:
我正在 Spring Boot 中开发后端,我正在使用 JPA 进行所有数据库操作。问题如下:
我从前端收到一个名为“responsableServicio”的参数,首先它到达控制器方法,我检查了参数是否正确到达那里。但是,当参数从控制器转到存储库时,该值没有正确获取,它似乎是空的,因为我的查询应该返回 1 条记录并返回 0 条记录。
我想强调的是,如果我将参数硬编码在查询中,它会返回正确的结果 1。
我遵循了一些示例,但还没有工作。我究竟做错了什么?提前致谢
公式控制器
@PostMapping(path = "/getCountAnexos")
@ResponseBody
public String countAnexosRechazo(@RequestBody String responsableServicio) {
Map<String, Object> json = new HashMap<String, Object>();
// Cambiar a nativeQuery
System.out.println("*******************************************");
System.out.println("*******************************************");
System.out.println(responsableServicio);
System.out.println("*******************************************");
System.out.println("*******************************************");
String respuesta = formularioRepository.getAnexosRechazados(responsableServicio);
System.out.printf("RESPUESTA",respuesta);
return respuesta;
}
Formulario 存储库
// Consulta para obtener el numero de Anexos Rechazados de acuerdo el Usuario
@Query(value = "SELECT COUNT(*) FROM formulario where year(fechaTramite)='2020' and responsableServicio = :responsableServicio and (estatusGestorContratos = 'Rechazado' or estatusAFTI = 'Rechazado')", nativeQuery = true)
public abstract String getAnexosRechazados(@Param("responsableServicio") String responsableServicio);
我从控制台得到什么
【问题讨论】:
-
你可以尝试硬编码控制器中的值吗?
-
@RyanGuamos 已经做到了。都没有用
-
尝试使用确切的列名修改您的查询。不是驼峰式
标签: java mysql spring spring-boot jpa