Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Método deletar

Estou tentando criar um método deletar e está vindo essa exception org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: from near line 1, column 10 [delete p from br.com.agendapsf.models.Procedimento p where id =16] org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:973) org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:863) javax.servlet.http.HttpServlet.service(HttpServlet.java:646)

e o método está dessa forma...

public void deletar(Procedimento procedimento){
        System.out.println("Procedimento será deletado...");
        System.out.println(procedimento.getId());
        manager.createQuery("delete p from Procedimento p where id =" + procedimento.getId(), Procedimento.class);

    }

Pode me ajudar?!

2 respostas
solução!

Oi Felipe! Esse problema está acontecendo pois você tem um erro de sintaxe na sua query. O jeito correto de fazer um delete seria:

delete from Procedimento p where p.id = 1

Aí, você pode tirar o Procedimento.class e colocar um .executeUpdate() no final já que essa query irá apenas rodar um comando no banco

Abraço!

Oi Felipe,

Uma sugestão, tente colocar na sua query p.id ao invés de somente id

Espero que dê certo!

Abs

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software