Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package model; import java.util.ArrayList; import org.hibernate.ObjectNotFoundException; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; /** * * @author joao */ public class CidadeModel { private final SessionFactory objSessionFactory; //String para mensagem de erro String msg = ""; public CidadeModel() { //Recebe o Session Factory do HIbernate this.objSessionFactory = sigos.SigosHibernateUtil.getSessionFactory(); } public String insert(Cidade obj) { //Abre um sesso Session objSession = this.objSessionFactory.openSession(); //Inicia uma transao dentro da sesso aberta Transaction objTransaction = objSession.beginTransaction(); try { //ADICIONA o objeto categoria, assim o hibernate persiste no bancoapagando o registro. objSession.save(obj); //Realiza um commit do INSERT objTransaction.commit(); } catch (Exception e) { //Caso ocorrer algum erro, mostra uma mensagem this.msg = e.getMessage(); //Realiza o Rollback, cancelando o INSERT no banco de dados. objTransaction.rollback(); } //Fecha a sesso objSession.close(); //Retorna a mensagem return this.msg; } public String update(Cidade obj) { //Abre um sesso Session objSession = this.objSessionFactory.openSession(); //Inicia uma transao dentro da sesso aberta Transaction objTransaction = objSession.beginTransaction(); try { //ATUALIZA o objeto categoria, assim o hibernate persiste no bancoapagando o registro. objSession.merge(obj); //Realiza um commit do UPDATE objTransaction.commit(); } catch (Exception e) { //Caso ocorrer algum erro, mostra uma mensagem msg = e.getMessage(); //Realiza o Rollback, cancelando o UPDATE no banco de dados. objTransaction.rollback(); } //Fecha a sesso objSession.close(); //Retorna a mensagem return msg; } public String delete(Cidade obj) { //Abre um sesso Session objSession = this.objSessionFactory.openSession(); //Inicia uma transao dentro da sesso aberta Transaction objTransaction = objSession.beginTransaction(); try { //ATUALIZA o objeto categoria, assim o hibernate persiste no bancoapagando o registro. objSession.delete(obj); //Realiza um commit do UPDATE objTransaction.commit(); } catch (Exception e) { //Caso ocorrer algum erro, mostra uma mensagem msg = e.getMessage(); //Realiza o Rollback, cancelando o UPDATE no banco de dados. objTransaction.rollback(); } //Fecha a sesso objSession.close(); //Retorna a mensagem return msg; } public ArrayList<Cidade> findByAll() { //Cria lista de objetos ArrayList<Cidade> lstCidade = null; //Abre um sesso Session objSession = this.objSessionFactory.openSession(); try { Query objQuery = objSession.createQuery("from Cidade"); lstCidade = (ArrayList<Cidade>) objQuery.list(); } catch (ObjectNotFoundException e) { return null; } return lstCidade; } public ArrayList<Cidade> findByFiltro(String Filtro) { ArrayList<Cidade> lstCidade = null; Session objSession = this.objSessionFactory.openSession(); String sFiltro = "Where c.Descricao like " + Filtro + "%"; try { Query objQuery = objSession.createQuery("from Cidade c " + sFiltro); lstCidade = (ArrayList<Cidade>) objQuery.list(); } catch (ObjectNotFoundException e) { return null; } return lstCidade; } public ArrayList<Cidade> findByIdEstado(int filtro) { ArrayList<Cidade> lstCidade = null; Session objSession = this.objSessionFactory.openSession(); try { Query objQuery = objSession.createQuery("from Cidade c where idestado = :idestado"); objQuery.setParameter("idestado", filtro); lstCidade = (ArrayList<Cidade>) objQuery.list(); } catch (ObjectNotFoundException e) { return null; } return lstCidade; } public ArrayList<Cidade> findById(int idCidade) { ArrayList<Cidade> lstCidade = null; //Abre um sesso Session objSession = this.objSessionFactory.openSession(); try { Query objQuery = objSession.createQuery("from Cidade where id = :id order by descricao"); objQuery.setParameter("id", idCidade); lstCidade = (ArrayList<Cidade>) objQuery.list(); } catch (ObjectNotFoundException e) { return null; } return lstCidade; } }