Problema ao consultar DB no hibernate

Olá amigos,
Estou com problemas ao tentar consultar banco de dados via hibernate, quando gravo, o faço com sucesso, porem, não consigo fazer a consulta. Esse é o conteúdo dos arquivos.

Empresas.java

public class Empresas implements java.io.Serializable {

	private Integer idEmpresa;
	private String empresa;
	private double valorHora;
	public Empresas() {
	}

	public Empresas(String empresa, double valorHora) {
		this.empresa = empresa;
		this.valorHora = valorHora;
	}

	public Integer getIdEmpresa() {
		return this.idEmpresa;
	}

	public void setIdEmpresa(Integer idEmpresa) {
		this.idEmpresa = idEmpresa;
	}

	public String getEmpresa() {
		return this.empresa;
	}

	public void setEmpresa(String empresa) {
		this.empresa = empresa;
	}

	public double getValorHora() {
		return this.valorHora;
	}

	public void setValorHora(double valorHora) {
		this.valorHora = valorHora;
	}

}

Empresas.hbm.xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 26/01/2008 16:12:49 by Hibernate Tools 3.2.0.CR1 -->
<hibernate-mapping>
    <class name="br.com.negocios.Empresas" table="empresas" catalog="negocios">
        <id name="idEmpresa" type="java.lang.Integer">
            <column name="idEmpresa" />
            <generator class="identity" />
        </id>
        <property name="empresa" type="string">
            <column name="empresa" length="45" not-null="true" />
        </property>
        <property name="valorHora" type="double">
            <column name="valorHora" precision="22" scale="0" not-null="true" />
        </property>
    </class>
</hibernate-mapping>

O trecho usado de Gerenciador.java

	public List listarEmpresas(){
			SessionFactory sf = new Configuration().configure("hibernate.cfg.xml").buildSessionFactory();
			Session s = sf.openSession();
			s.beginTransaction();
			List lista = s.createQuery("from br.com.negocios.Empresas").list();
			s.getTransaction().commit();
			return lista;			
	}

Testando Consulta

			Gerenciador ge = new Gerenciador();
			List lista = ge.listarEmpresas();
			String teste = (String) lista.toString();

Como resultado da pesquisa obtenho:

[br.com.negocios.Empresas@18c8aea, br.com.negocios.Empresas@39060b, br.com.negocios.Empresas@1bbd3e2]

quando na verdade seria qualquer outra coisa como:
1 Empresa X 10
2 Empresa Y 15

Observação: A quantidade de linhas de “lixo” que retorna na pesquisa é equivalente a quantidade de registros no banco.

Tabela empresas:
idEmpresa int, autoenumeração PK,
empresa varchar,
valorHora double.

cara aparentemente teus dados sairam com sucesso.

O teu problema é nessa linha:

List lista = ge.listarEmpresas(); String teste = (String) lista.toString();

em que você chama o método toString() de uma List, que te devolve aqueles dados ali.

O correto é você iterar pela lista e pegar os valores dos campos que quiser:

for(Empresa e: lista) {
    System.out.println(e.getIdEmpresa() + " " + e.getEmpresa() + " " + e.getValorHora());
}

[quote=andreiribas]cara aparentemente teus dados sairam com sucesso.

O teu problema é nessa linha:

List lista = ge.listarEmpresas(); String teste = (String) lista.toString();

em que você chama o método toString() de uma List, que te devolve aqueles dados ali.

O correto é você iterar pela lista e pegar os valores dos campos que quiser:

for(Empresa e: lista) {
    System.out.println(e.getIdEmpresa() + " " + e.getEmpresa() + " " + e.getValorHora());
}

[/quote]

Quando tento fazer conforme você indicou, recebo e seguinte:
Type mismatch: cannot convert from element type Object to Empresas

Obrigado pela ajuda!!! A solução final ficou assim

			Gerenciador ge = new Gerenciador();
			List lista = ge.listarEmpresas();
			Iterator i = lista.iterator();
			while(i.hasNext()){
				Empresas e = (Empresas)i.next();
				out.println("e.getIdEmpresa()+e.getEmpresa());
                          }