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

Classe não mapeada VRAPTOR 4

Galera gostaria que me ajudassem em um problema que estou tendo, tenho um método void e nele passo uma classe, mas se eu não colocar nenhum valor no meu formulário ele da erro, e não quero isso, quero que quando eu não passar um valor ele me mostra uma lista

mas quando deixo de passar um valor ele fala que a classe não foi mapeada

//Controller
@Post("/chamado/busca")
    public void busca(Chamado chamado) {
        if (chamado.getId() == null || chamado == null) {
            result.include("chamadoLista", dao.lista(user.getUser()));
            result.redirectTo(this).formularioBusca();
            System.out.println("Método lista é chamado aqui");
        } else {
            result.include("chamadoLista", dao.busca(chamado.getId(), user.getUser()));
            result.redirectTo(this).formularioBusca();
            System.out.println("Método busca é chamado aqui");
        }
    }
//JSP

<form action="<c:url value='/chamado/busca'/>" method="post">
            Número do Chamado: <input id="id" type="text" name="chamado.id"
                value="chamado.id" /> 
                <input type="submit" name="Buscar"
                value="Efetuar Busca">
        </form>
        <table>
            <tr>Nome ------ |
            </tr>
            <tr>------ Setor ------ |
            </tr>
            <tr>------ Tipo ------ |
            </tr>
            <tr>------ Problema ------ |
            </tr>
            <tr>------ Necessidade ------ |
            </tr>
            <c:forEach items="${chamadoLista}" var="chamado">
                <c:if test="${not empty chamado}">
                    <tr>
                        <td>${chamado.nome}|</td>
                        <td>${chamado.setor}|</td>
                        <td>${chamado.tipo}|</td>
                        <td>${chamado.problema}|</td>
                        <td>${chamado.necessidade}|</td>
                    </tr>
                </c:if>
            </c:forEach>
        </table>

Mensagem de erro

set 10, 2016 3:22:26 PM org.apache.catalina.core.StandardWrapperValve invoke GRAVE: Servlet.service() for servlet [default] in context with path [/phtecnologia] threw exception [net.vidageek.mirror.exception.ReflectionProviderException: Could not invoke method busca] with root cause org.hibernate.hql.internal.ast.QuerySyntaxException: chamado is not mapped

2 respostas
solução!

O erro não é do VRaptor, a exception indica que o erro está na sua query com o hibernate. Você fez um hql referenciando uma classe cujo nome é chamado, mas provavelmente você queria dizer Chamado.

Nossa cara, faz mais de uma semana que estou nesse problema e não conseguia interpretar o problema, muito obrigado.