2
respostas

Erro: org.hibernate.exception.SQLGrammarException: could not prepare statement

Estou desenvolvendo uma aplicação Spring MVC com Hibernate e Tomcat 8, quando eu efetuo está chamada localmente funciona uma maravilha. Porém quando vou efetuar está mesma chamada no servidor de producao, recebo o seguinte retorno:

Erro: Request processing failed; nested exception is javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not prepare statement"

Minha classe Controller é essa:


@RestController
@RequestMapping(value = "/v1/protected/")
public class DashboardAdminController {

    public DashboardAdminController() {
    }

    private final Logger LOGGER = LoggerFactory.getLogger(DashboardAdminController.class);

    @Autowired
    private IDashboardAdminService dashboardAdminService;

    @RequestMapping(value = {"dashboard/listPaymentAnalysis"}, method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
    @ResponseStatus(value = HttpStatus.OK)
    @ResponseBody
    public List<AnalisePagamentosDashboardDTO> listPaymentAnalysis(@RequestBody DashboardAdmimParameter parameters) throws ParseException {

        LOGGER.info("Post > listPaymentAnalysis=" + parameters);

        return this.dashboardAdminService.listPaymentAnalysis(converterDate(parameters.getDateBegin()), converterDate(parameters.getDateEnd()));

    }

Essa é minha classe para envio de json na chamada


@JsonInclude(JsonInclude.Include.NON_NULL)
public class DashboardAdmimParameter {

    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy", timezone = "America/Sao_Paulo")
    private Date dateBegin;

    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy", timezone = "America/Sao_Paulo")
    private Date dateEnd;

}

Essa é a minha classe de retorno

public class AnalisePagamentosDashboardDTO implements Serializable {

    private static final long serialVersionUID = -459226259088277107L;

    private String tipo;
    private Double val;
    private Integer qtde;

}

Fico no aguardo de uma possível ajuda! Obrigado

2 respostas

Resolvido, o problema era um caracter especial no select ~

Obrigado!

Fala Andersson, tudo bem?

Onde estava esse caracter especial? haha