Problema Integrar Jsf + Hibernate

2 respostas
colored

Bom to Criando um sistema pra treinar um pouco, mas estou tendo um pouco de problemas…

Tipo na hora q crio a minha pagina pra imprimir todos os usuarios na tela ele n imprimi nada, sendo q eu pegando essa classe e printando no console ele me traz os resultados perfeitamente…
NUm sei o q eu faço, n sei pra onde corre :D.

vo por um pedaço das classes

@Entity
@Table(name = "Usuario")
public class Usuario implements Serializable{
	
	@Id
	@Column(name = "Code")
	private int code;
	
	@Column(name = "Nome")
	private String nome;
	
	@Column(name = "Endereco")
	private String endereco;
public class GenericDao {
	
	protected Session getSession(){
		return HibernateUtil.getSession();
	}
	
	protected void genericSaveOrUpdate(Serializable pojo){
		Session s = getSession();
		s.saveOrUpdate(pojo);
		s.beginTransaction().commit();
		s.close();
	}

	protected Serializable genericGet(Class classToSearch, Serializable key){
		Session s = getSession();
		Serializable retorno = (Serializable) s.get(classToSearch, key);
		s.close();
		return retorno;
	}
	
	protected void genericRemove(Serializable pojo){
		Session s = getSession();
		s.delete(pojo);
		s.beginTransaction().commit();
		s.close();
	}
	
	protected <T extends Serializable> List<T> ListAllClass(Class<T> classe){
		Criteria c = getSession().createCriteria(classe);
		return c.list();
	}
public class UsuarioDao extends GenericDao{
	
	public void AddUsuario(Usuario u){
		genericSaveOrUpdate(u);
	}
	
	public void RemoveUsuario(Usuario u){
		genericRemove(u);
	}
	
	public void UpdateUsuario(Usuario u){
		genericSaveOrUpdate(u);
	}
	
	public Usuario getUsuario(int key){
		return (Usuario) genericGet(Usuario.class, key);
	}
	
	public List<Usuario> ListUsuarios(){
		List<Usuario> myList = ListAllClass(Usuario.class);
		return myList;
	}
public class UsuarioFace {
	
	private List<Usuario> usuarios = null;
	private UsuarioDao dao = new UsuarioDao();
	private Usuario usuario = new Usuario();
	
	public List<Usuario> getUsuarios() {
		if(usuarios == null){
			usuarios = dao.ListUsuarios();
		}
		return usuarios;
	}
	
	public UsuarioDao getDao() {
		return dao;
	}
	
	public Usuario getUsuario() {
		return usuario;
	}

Se alguem souber o que faço por favor me de uma luz q ta foda…

2 Respostas

colored

agora ta dando um erro, estranho to ficando loko nada da certo…

WARNING: executePhase(RENDER_RESPONSE 6,com.sun.faces.context.FacesContextImpl@5a3923) threw exception
javax.faces.FacesException: org.apache.jasper.el.JspELException: /index.jsp(16,2) '#{UsuarioFace.cachedUser}' Error reading 'cachedUser' on type Faces.UsuarioFace
	at javax.faces.component.UIData.getValue(UIData.java:585)
	at javax.faces.component.UIData.getDataModel(UIData.java:1063)
	at javax.faces.component.UIData.setRowIndex(UIData.java:417)
	at com.sun.faces.renderkit.html_basic.TableRenderer.encodeBegin(TableRenderer.java:85)
	at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:785)
	at javax.faces.component.UIData.encodeBegin(UIData.java:879)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:884)
	at javax.faces.render.Renderer.encodeChildren(Renderer.java:137)
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:809)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:886)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
	at com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:244)
	at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:175)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
	at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
	at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.jasper.el.JspELException: /index.jsp(16,2) '#{UsuarioFace.cachedUser}' Error reading 'cachedUser' on type Faces.UsuarioFace
	at org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:107)
	at javax.faces.component.UIData.getValue(UIData.java:582)
	... 28 more
Caused by: java.lang.NoClassDefFoundError: org/hibernate/Session
	at Dao.GenericDao.getSession(GenericDao.java:15)
	at Dao.GenericDao.ListAllClass(GenericDao.java:40)
	at Dao.UsuarioDao.ListUsuarios(UsuarioDao.java:31)
	at Faces.UsuarioFace.getCachedUser(UsuarioFace.java:49)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at javax.el.BeanELResolver.getValue(BeanELResolver.java:62)
	at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54)
	at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:64)
	at org.apache.el.parser.AstValue.getValue(AstValue.java:118)
	at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
	at org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:101)
	... 29 more
Caused by: java.lang.ClassNotFoundException: org.hibernate.Session
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
	... 43 more
mvargens

Está dando erro por causa disso aqui ó:
Caused by: java.lang.ClassNotFoundException: org.hibernate.Session

Quando executa no console o Hibernate está no classpath do Projeto na IDE. Dai ele enxerga.
Quando executa fora da IDE, o servidor web não tem o Hibernate no classpath. Dai da erro.
Tem que descobrir porque o Hibernate não está junto com o .war/.ear, ou no proprio servidor Web.

Criado 22 de junho de 2009
Ultima resposta 23 de jun. de 2009
Respostas 2
Participantes 2