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

Erro ao trocar de banco e realizar deploy do projeto

surgiu o seguinte erro abaixo, alguém poderia me ajudar ?

org.hibernate.exception.SQLGrammarException: could not extract ResultSet
    org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:781)
    org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:721)
    org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:943)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
root cause

org.postgresql.util.PSQLException: ERROR: operator does not exist: integer !~~ integer
  Hint: No operator matches the given name and argument type(s). You might need to add explicit type casts.
  Position: 502
    org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2270)
    org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1998)
    org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
    org.postgresql.jdbc2.AbstractJdbc2Statement.execute(A
3 respostas

Oi Wilian, está dando um erro de sintaxe. Provavelmente a query que você executava antes não funciona igual no Postgre que você está usando. Essa query é uma jpql ou uma query nativa?

Fui comentando código por código e o erro está acontecendo nesse trecho. Lembrando que no mySql funciona normalmente.

    public List<Produto> listar() {

        return manager.createQuery("select p from Produto p where p.status not like :status order by dataLimite asc", Produto.class).setParameter("status", Status.FINALIZADA).getResultList();
    }
    }
solução!

Meu palpite é que provavelmente tem relação com o enum, isso porque ele reclama que precisa fazer um cast no erro. Você pode me mostrar colo está a anotation do enum na tabela Produto? Dependendo de como estiver o hibernate cria como um número no banco