Pessoal,
Sou iniciante em Java e estou com o seguinte problema. Criei uma aplicação que lista os usuários cadastrados no banco, para acesso ao banco de dados utilizo o Hibernate, e para camada de apresentação utilizo Java Server Faces, porem quando mando lista os usuarios e exibido o erro conforme abaixo, Já recriei as entidades, classes e nada, quando testo a conexão através de um Bean de teste, funciona, mas quando tento exibir a lista de usuário atraves do jsp e apresentado o erro abaixo.
Segue abaixo os fontes do projeto.
Help…
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: /usuarios.jsp(21,16) ‘#{UsuarioFace.usuarioCadastrado}’ Error reading ‘usuarioCadastrado’ on type Interface.UsuarioFace
javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
root cause
org.apache.jasper.el.JspELException: /usuarios.jsp(21,16) ‘#{UsuarioFace.usuarioCadastrado}’ Error reading ‘usuarioCadastrado’ on type Interface.UsuarioFace
org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:107)
javax.faces.component.UIData.getValue(UIData.java:582)
javax.faces.component.UIData.getDataModel(UIData.java:1063)
javax.faces.component.UIData.setRowIndex(UIData.java:417)
com.sun.faces.renderkit.html_basic.TableRenderer.encodeBegin(TableRenderer.java:85)
javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:788)
javax.faces.component.UIData.encodeBegin(UIData.java:879)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:884)
javax.faces.render.Renderer.encodeChildren(Renderer.java:137)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:886)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:245)
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:176)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
root cause
org.hibernate.hql.ast.QuerySyntaxException: usuario is not mapped [from usuario usr]
org.hibernate.hql.ast.util.SessionFactoryHelper.requireClassPersister(SessionFactoryHelper.java:158)
org.hibernate.hql.ast.tree.FromElementFactory.addFromElement(FromElementFactory.java:87)
org.hibernate.hql.ast.tree.FromClause.addFromElement(FromClause.java:70)
org.hibernate.hql.ast.HqlSqlWalker.createFromElement(HqlSqlWalker.java:255)
org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElement(HqlSqlBaseWalker.java:3056)
org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElementList(HqlSqlBaseWalker.java:2945)
org.hibernate.hql.antlr.HqlSqlBaseWalker.fromClause(HqlSqlBaseWalker.java:688)
org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:544)
org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:281)
org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:229)
org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:228)
org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:160)
org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:111)
org.hibernate.engine.query.HQLQueryPlan.(HQLQueryPlan.java:77)
org.hibernate.engine.query.HQLQueryPlan.(HQLQueryPlan.java:56)
org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72)
org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)
org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)
org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1623)
metodo.GeneridoDAO.getPureList(GeneridoDAO.java:73)
metodo.UsuarioDAO.getUsuarios(UsuarioDAO.java:52)
Interface.UsuarioFace.getUsuarioCadastrado(UsuarioFace.java:25)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
javax.el.BeanELResolver.getValue(BeanELResolver.java:62)
javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54)
com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:64)
org.apache.el.parser.AstValue.getValue(AstValue.java:118)
org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:101)
javax.faces.component.UIData.getValue(UIData.java:582)
javax.faces.component.UIData.getDataModel(UIData.java:1063)
javax.faces.component.UIData.setRowIndex(UIData.java:417)
com.sun.faces.renderkit.html_basic.TableRenderer.encodeBegin(TableRenderer.java:85)
javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:788)
javax.faces.component.UIData.encodeBegin(UIData.java:879)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:884)
javax.faces.render.Renderer.encodeChildren(Renderer.java:137)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:886)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:245)
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:176)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
usuarios.jsp
<%@page contentType=“text/html” pageEncoding=“UTF-8”%>
<%@taglib prefix=“f” uri=“http://java.sun.com/jsf/core”%>
<%@taglib prefix=“h” uri=“http://java.sun.com/jsf/html”%>
<%–
This file is an entry point for JavaServer Faces application.
–%>
<f:view>
Usuários
<h:outputText value=“JavaServer Faces”/>
<h:form>
<h:dataTable var=“item” value="#{UsuarioFace.usuarioCadastrado}">
<h:column>
<f:facet name=“header”>
<h:outputText value=“Codigo”/>
</f:facet>
<h:outputText value="#{item.id}"/>
</h:column>
<h:column>
<f:facet name=“header”>
<h:outputText value=“Nome”/>
</f:facet>
<h:outputText value="#{item.nome}"/>
</h:column>
</h:dataTable>
</h:form>
</body>
</html>
</f:view>
Classe usuário
package entidade;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
@Entity
@Table(name = “usuario”)
public class Usuario implements java.io.Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name = "ID", nullable = false)
private Integer id;
@Column(name = "nome", nullable = false)
private String nome;
@Column(name = "login", nullable = false)
private String login;
@Column(name = "senha", nullable = false)
private String senha;
@OneToMany(mappedBy = "usuarioGeracao",fetch=FetchType.LAZY)
private List<Produto> produtos;
@OneToMany(mappedBy="usuarioVenda",fetch=FetchType.LAZY)
private List<Venda> usuarioVenda;
public Usuario() {
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
public boolean isvalidSenha(String senhaAtual) {
return senhaAtual.equals(senha);
}
public List<Produto> getProdutos() {
return produtos;
}
public void setProdutos(List<Produto> produtos) {
this.produtos = produtos;
}
public List<Venda> getUsuarioVenda() {
return usuarioVenda;
}
public void setUsuarioVenda(List<Venda> usuarioVenda) {
this.usuarioVenda = usuarioVenda;
}
}
DAO
public class UsuarioDAO extends GeneridoDAO {
private static final long serialVersionUID = 1L;
private Session session;
public UsuarioDAO(Session session) {
this.session = session; //recebe um session
}
public UsuarioDAO() {
this.session = getSession();//Cria um session
}
public int addUsuario(Usuario idUser) {
saveOrUpdate(idUser);
return idUser.getId();
}
public void removeUsuario(Usuario user) {
removePojo(user);
}
public void updatUsuarioo(Usuario user) {
updatePojo(user);
}
public Integer getUsuario(Integer idUsuarioo) {
Usuario user = getPojo(Usuario.class, idUsuarioo);
return user.getId();
}
public boolean validaLogin(String login, String senha) {
return getPurePojo("from usuario usr where usr.login = ?1 and usr.senha = ?2", login, senha) != null;
}
public List<Usuario> getUsuarios() {
Hibernate.initialize(Usuario.class);
return getPureList(Usuario.class, "from usuario usr");
}
}
public class UsuarioFace {
private List<Usuario> usuarioCadastrado = null;
private UsuarioDAO userDAO = new UsuarioDAO();
public UsuarioFace() {
}
public List<Usuario> getUsuarioCadastrado() {
if (usuarioCadastrado == null) {
usuarioCadastrado = userDAO.getUsuarios();// Busca usuario quando vier nulo
System.out.println(usuarioCadastrado);
return usuarioCadastrado;
}
System.out.println(usuarioCadastrado);
return usuarioCadastrado; // retorna usuario já em memoria != de nulo
}
}