/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package maissocial.repositorio;
import java.util.List;
import maissocial.entidade.Familia;
import maissocial.util.HibernateUtil;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
/**
*
* @author luciano
*/
public class FamiliaRepositorio {
SessionFactory factory = HibernateUtil.getSessionFactory();
public void salvarFamilia(Familia fm){
Session session = factory.openSession();
Transaction trans = session.beginTransaction();
trans.begin();
session.save(fm);
trans.commit();
session.close();
}
public void deletarFamilia(int cod){
Session session = factory.openSession();
Transaction trans = session.beginTransaction();
trans.begin();
Familia fm = pesquisarFamiliaPorCodigo(cod);
session.delete(fm);
trans.commit();
session.close();
}
public void deletarFamiliaPorObj(Familia fm){
Session session = factory.openSession();
Transaction trans = session.beginTransaction();
trans.begin();
session.delete(fm);
trans.commit();
session.close();
}
public Familia pesquisarFamiliaPorCodigo(int cod){
Session session = factory.openSession();
SQLQuery query = session.createSQLQuery("SELECT {familia.*} FROM familia {familia} WHERE cod_familia = "+cod);
query.addEntity("familia", Familia.class);
Familia fm = null;
if(query.list().size() > 0){
fm = (Familia) query.list().get(0);
}
session.close();
return fm;
}
public List pesquisarFamiliaTodos(){
Session session = factory.openSession();
SQLQuery query = session.createSQLQuery("SELECT {familia.*} FROM familia {familia}");
query.addEntity("familia", Familia.class);
List fm = query.list();
session.close();
return fm;
}
public void alterarFamilia(Familia fm){
Session session = factory.openSession();
Transaction trans = session.beginTransaction();
trans.begin();
Familia fm2 = pesquisarFamiliaPorCodigo(fm.getCodFamilia());
fm.setCodFamilia(fm2.getCodFamilia());
session.update(fm);
trans.commit();
session.close();
}
}