Hibernate

Olá amigos!

Estou dando um estudada no Hibernate, daí estou tentando montar um programinha com ele…
Estou tentando fazer um select em uma tabela de usuários, e listá-los em meu form jsp, porém ele está dando o seguinte erro:
javax.servlet.ServletException: No getter method for property UsNome of bean usuario
Se alguém puder dar alguma sugestão de como posso contorná-lo, desde já agradeço.
Abaixo o código:

listar.jsp

<%@ taglib uri="/tags/struts-bean" prefix="bean" %>
<%@ taglib uri="/tags/struts-html" prefix="html" %>
<%@ taglib uri="/tags/struts-logic" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tld/c.tld" prefix="c" %>

<html:html locale="true">
<head>
<title><bean:message key="welcome.title"/></title>
<html:base/>
</head>
<body bgcolor="white">
<h3><bean:message key="listar.heading"/></h3>
<p><bean:message key="listar.inicio"/>

<html:form action="/paginaListarRegistros">
<c:forEach items="${usuarioBean}" var="usuario">
	<c:out value="${usuario.UsCod}" />
	<c:out value="${usuario.UsNome}" />
	<c:out value="${usuario.UsEmail}" />

</c:forEach>
</html:form>
<!--
<logic:iterate id="usuario" name="usuarioBean">
		<bean:write property="UsNome" name="usuario"/>
	</logic:iterate>

	
  -->
</body>
</html:html>

TesteAction

package action;


import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.beanutils.BeanUtils;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import bean.Usuario;

import dao.UsuarioDAO;
import form.TesteForm;

public class TesteAction extends Action{

	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response){
	
		String retorno = "";
	
	try{
		
		TesteForm testeForm = new TesteForm();
		Usuario usuario = new Usuario();
		UsuarioDAO dao = new UsuarioDAO();
		
		if(mapping.getPath().equals("/incluirRegistro")){
			testeForm = (TesteForm)form;
			BeanUtils.copyProperties(usuario, testeForm);
			Usuario usuario_form = new Usuario(usuario.getUsCod(),usuario.getUsSenha(),usuario.getUsNome(),usuario.getUsEmail());
			dao.UsInserir(usuario_form);
			System.out.println("Registro inserido com sucesso!!!");	
			retorno = "sucesso";
			
		}else if(mapping.getPath().equals("/paginaalterarRegistro")){
			
			request.setAttribute("codigosUsuarios", dao.ListarTodosUs());		
			
		}else if(mapping.getPath().equals("/paginaListarRegistros")){
			request.setAttribute("usuarioBean", dao.ListarTodosUs());
			retorno = "sucesso";
			
		}else if(mapping.getPath().equals("/alterarRegistro")){
			
			testeForm = (TesteForm)form;
			BeanUtils.copyProperties(usuario, testeForm);
			Usuario usuario_form = new Usuario(usuario.getUsCod(),usuario.getUsSenha(),usuario.getUsNome(),usuario.getUsEmail());
			dao.UsInserir(usuario_form);
			System.out.println("Registro inserido com sucesso!!!");	
			retorno = "sucesso";		
			
			
		}else if(mapping.getPath().equals("/excluirRegistro")){
			
		}
	}catch(Exception e){
		System.out.println("Erro: " + e);
	}
	
		
		return mapping.findForward(retorno);
	}
	
	
}

UsuarioDAO

[code]
public class UsuarioDAO {

private SessionFactory factory;

public UsuarioDAO() throws Exception {

factory = new Configuration().addClass(Usuario.class)
			.buildSessionFactory();


}


public LinkedList ListarTodosUs() throws Exception {

	LinkedList list = new LinkedList();
try{
	
	TesteForm testeForm = new TesteForm();
	Session session = factory.openSession();
	Transaction tx = session.beginTransaction();
	String queryListar = "from bean.Usuario";
	Query query = session.createQuery(queryListar);
	for (java.util.Iterator it = query.iterate(); it.hasNext();){
        Usuario usuario = (Usuario) it.next();
		usuario.getUsCod();
		usuario.getUsNome();
		usuario.getUsSenha();
		usuario.getUsEmail();

        list.add(usuario);
        

    }
    tx.commit();
    session.close();

}catch(Exception e){
	System.out.println("Erro Dao: " + e);
}
	return list;
	
}

}[/code]

Usuario.hbm.xml

[code]

<?xml version="1.0"?> [/code]

Abraços a todos,

:wink:

Como está o codigo do seu Bean Usuario …

Olá,

Meu bean Usuario está abaixo:

package bean;
public class Usuario {
	private String usCod;
	private String usSenha;
	private String usNome;
	private String usEmail;
	
	public Usuario(){
		
	}		 	
	
	public Usuario(String usCod, String usSenha, String usNome, String usEmail) {
		
		this.setUsCod(usCod);
		this.setUsSenha(usSenha);
		this.setUsNome(usNome);
		this.setUsEmail(usEmail);
	}

	public String getUsCod() {
		return usCod;
	}

	public void setUsCod(String usCod) {
		this.usCod = usCod;
	}

	public String getUsEmail() {
		return usEmail;
	}

	public void setUsEmail(String usEmail) {
		this.usEmail = usEmail;
	}

	public String getUsNome() {
		return usNome;
	}

	public void setUsNome(String usNome) {
		this.usNome = usNome;
	}

	public String getUsSenha() {
		return usSenha;
	}

	public void setUsSenha(String usSenha) {
		this.usSenha = usSenha;
	}
	
	
}

Se puder me dar uma luz…agradeço…

Abração,

:wink:

Olá amigos,

Desculpe se estou sendo pertinente, mas será que poderia contar com a ajuda de vocês?! :cry:

Abração,

:wink:

se você puder escrever seu e-mail, posso te mandar a apostila do hibernate

ou se puder colocar o hibernate-cfg para eu analisar…

#     <c:out value="${usuario.UsCod}" />  
#     <c:out value="${usuario.UsNome}" />  
#     <c:out value="${usuario.UsEmail}" />  

olha a forma como você está acessando sua entida.

tente isso:

  <c:out value="${usuario.usCod}" />  
#     <c:out value="${usuario.usNome}" />  
#     <c:out value="${usuario.usEmail}" />  

pois vc acessa a prop de seu bean, ok ??

qq coisa é só postar aqui… :stuck_out_tongue:

[quote=soudaniel_01][code]

<c:out value="${usuario.UsCod}" />

<c:out value="${usuario.UsNome}" />

<c:out value="${usuario.UsEmail}" />

[/code]

olha a forma como você está acessando sua entida.

tente isso:

  <c:out value="${usuario.usCod}" />  
#     <c:out value="${usuario.usNome}" />  
#     <c:out value="${usuario.usEmail}" />  

pois vc acessa a prop de seu bean, ok ??

qq coisa é só postar aqui… :stuck_out_tongue:
[/quote]

soudaniel_01: Ué? Pra acessar da mesma forma que eu estava acessando?
edu_naka Meu e-mail é: lorena.dourado@gmail.com. Abaixo o hibernate.cfg:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC 
	"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
	"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
	
	<hibernate-configuration>
	    <!-- a SessionFactory instance listed as /jndi/name -->
	    <session-factory name="java:comp/env/hibernate/SessionFactory">
	
	        <!-- properties -->
	        <property name="connection.driver_class">
	            com.mysql.jdbc.Driver
	        </property>
		    <property name="connection.url">
	            jdbc:mysql://localhost:3306/blank
	        </property>
	        <property name="dialect">
	            org.hibernate.dialect.MySQLDialecta
	        </property>
	        <property name="show_sql">true</property>
	        <property name="connection.username">root</property>
	        <property name="connection.password">teste</property>
		    <property name="connection.pool_size">10</property>
			
	        <!-- mapping files -->
	        <mapping resource="/bean/Usuario.hbm.xml"/>
	       
	
	    </session-factory>
	</hibernate-configuration>

Abraço,

:wink:

olhe eu tambem estou comecando agora eu faço assim
uso o eclipse e crio um projeto web na pasta src eu crio meus xml’s
bem no hibernate.cfg.xml
eu faco referecia aos outros assim xml´s assim:

no seu caso seria assim

Entao relambrando todos xml dentro do diretorio src
depois no arquivo de configuracao de cada classe assim:

no seu caso deve ser algo parecido assim:

outra dica eh nome da tabela e dos campos e atributos da classe tudo igual…
de uma olhada nisso…
bem me fale tambem se vc conseguiu entender o q eu disse aqui ok???

[quote=soudaniel_01][code]

<c:out value="${usuario.UsCod}" />

<c:out value="${usuario.UsNome}" />

<c:out value="${usuario.UsEmail}" />

[/code]

olha a forma como você está acessando sua entida.

tente isso:

  <c:out value="${usuario.usCod}" />  
#     <c:out value="${usuario.usNome}" />  
#     <c:out value="${usuario.usEmail}" />  

O problema era justamente esse!

Muito obrigada!

Grande abraço,

:wink:

pois vc acessa a prop de seu bean, ok ??

qq coisa é só postar aqui… :stuck_out_tongue:
[/quote]

No seu cfg está assim MySQLDialecta mas o jeito correto seria MySQLDialect.

[quote]No getter method for property UsNome of bean usuario…[/quote] Não encontrou o method get pra propriedade UsNome o erro está bem claro.

No seu hbm está configurando o nome da propriedade como UsNome mas na classe Usuario vc colocou usNome lembre-se que em Java tudo(ou quase) é case-sensitive.