Primeiramente queria pedir desculpas se estou utilizando a aria errada do fórum, "já que vi aqui alguns tópicos relacionados ao IReport resolvi colocar aqui mesmo"
estou estudando Java a 4 meses, comecei agora minha vida de estudos na programação, e ja estou aprendendo a utilizar o Hibernate “mesmo vendo só a parte de XML ainda, já estou maravilhado com seu poder”.
O que me ocorre é o seguinte, estou fazendo um pequeno sistema para a loja do meu pai, o meu formulário funciona perfeitamente todos os eventos botões etc… o meu problema é que criei um relatório usando IReport, e não tenho a minima ideia de como criar a classe para chamar o relatório e como fazer a conexão IReport + Hibernate, sei que existem muitos tópicos aqui relacionado ao assunto já li vários ontem, porem nenhum esclareceu minha duvidas de como “criar essa classe”
Eu não quero nada de mão beijada só quero aprender, e se alguém tiver disposição para fazer está classe para mim baseada nos codigos que vou postar abaixo, ou então me indicar material para que eu posso estudar ficaria muito grato, tendo em vista que o livro “Desenvolvendo Relatórios Profissionais com IReport etc…” ja deve chegar semana que vem em minha casa.
Esté é meu Hibernate.properties
hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
hibernate.connection.driver_class = org.postgresql.Driver
hibernate.connection.url = jdbc:postgresql://localhost:5432/MirandaDB
hibernate.connection.username = postgres
hibernate.connection.password = root
hibernate.show_sql = true
hibernate.format_sql = true
Hibernate.cfg.xml
<?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>
<session-factory>
<mapping resource="br/com/brninformatica/controle/km.hbm.xml"/>
</session-factory>
</hibernate-configuration>
Aquivo de Mapeamento “separado do cfg.xml”
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="br.com.brninformatica.bean.Quilometragem">
<id name="id">
<generator class="sequence">
<param name="sequence">km_sequence</param>
</generator>
</id>
<property name="dia"/>
<property name="mes"/>
<property name="manha"/>
<property name="almoco"/>
<property name="volta_almoco"/>
<property name="tarde"/>
<property name="total_km_dia"/>
</class>
</hibernate-mapping>
Classe Bean
package br.com.brninformatica.bean;
import java.io.Serializable;
import java.util.Date;
/**
*
* @author brulex
*/
public class Quilometragem implements Serializable {
public Quilometragem() //método construtor vazio
{ }
private int id;
private Date dia;
private String mes;
private int manha;
private int almoco;
private int volta_almoco;
private int tarde;
private int total_km_dia;
/* Métodos getters e Setrers
HibernateUtil
package br.com.brninformatica.hibernateutil;
/**
*
* @author brulex
*/
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import javax.swing.JOptionPane;
public class HibernateUtil{
private static SessionFactory FabricaSessoes;
static {
try {
FabricaSessoes = new Configuration().configure().buildSessionFactory();
}
catch(Exception erro) {
JOptionPane.showMessageDialog(null, "Erro na fabrica de sessoes = "+erro);
FabricaSessoes = null;
}
}
public static Session getSessao() {
return FabricaSessoes.openSession();
}
}
DAOGenerico que implemente uma interface
package br.com.brninformatica.persistence;
import br.com.brninformatica.hibernateutil.HibernateUtil;
import java.util.List;
import javax.swing.JOptionPane;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;
public class DAOGenerico<Generico> implements InterfaceDAOGenerico {
private final Session sessao;
Transaction transacao = null;
private Generico generico;
public DAOGenerico(Generico generico){
this.sessao = HibernateUtil.getSessao();
this.generico = generico;
}
@Override
public void gravarAletrar() {
try {
transacao = sessao.beginTransaction();
sessao.saveOrUpdate(generico);
transacao.commit();
}
catch(HibernateException erro){
JOptionPane.showMessageDialog(null, "Erro na inserção = "+erro);
transacao.rollback();
}
}
@Override
public void excluir() {
try {
transacao = sessao.beginTransaction();
sessao.delete(generico);
transacao.commit();
}
catch(HibernateException erro){
JOptionPane.showMessageDialog(null, "Erro na exclusão = "+erro);
transacao.rollback();
}
}
@Override
public void alterar() {
}
@Override
public List listar(String classe) {
List lista = sessao.createQuery("from "+classe).list();
return lista;
}
}
Bom é isso ai, me desculpem pelo tópico extenso e se fiz algo de erro… com o tempo vou me acostumando com o fórum!
aguardo respostas e Obrigado.