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.