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 AtendimentoModel { private final SessionFactory objSessionFactory; //String para mensagem de erro String msg = ""; public AtendimentoModel() { //Recebe o Session Factory do HIbernate this.objSessionFactory = sigos.SigosHibernateUtil.getSessionFactory(); } public int insert(Atendimento obj) { Session objSession = this.objSessionFactory.openSession(); try { Transaction t = objSession.beginTransaction(); Query q = objSession .createSQLQuery("select * from inserirAtendimento(:idpessoa, :idfuncionario, :idmatriz)"); q.setParameter("idpessoa", obj.getPessoa().getIdpessoa()); q.setParameter("idfuncionario", obj.getFuncionario().getIdfuncionario()); q.setParameter("idmatriz", obj.getMatriz().getIdmatriz()); Object callback = q.uniqueResult(); t.commit(); objSession.close(); return (int) callback; } catch (Exception e) { System.out.println(e.toString()); return 0; } } public String update(Atendimento 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(Atendimento 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<Atendimento> findByAll() { //Cria lista de objetos ArrayList<Atendimento> lstAtendimento = null; //Abre um sesso Session objSession = this.objSessionFactory.openSession(); try { Query objQuery = objSession.createQuery("from Atendimento"); lstAtendimento = (ArrayList<Atendimento>) objQuery.list(); } catch (ObjectNotFoundException e) { return null; } return lstAtendimento; } public ArrayList<Atendimento> findByIdPessoa(int idpessoa) { Atendimento a = null; Session objSession = this.objSessionFactory.openSession(); ArrayList<Atendimento> lstAtendimentos = null; try { Query objQuery = objSession.createQuery("from Atendimento a where idpessoa = :idpessoa"); objQuery.setParameter("idpessoa", idpessoa); lstAtendimentos = (ArrayList<Atendimento>) objQuery.list(); } catch (Exception e) { return null; } return lstAtendimentos; } public Object getLastId() { Session objSession = this.objSessionFactory.openSession(); try { Transaction t = objSession.beginTransaction(); Query q = objSession.createSQLQuery("select * from ultimoatendimento()"); Object obj = q.uniqueResult(); t.commit(); objSession.close(); objSession.evict(objSession); return obj; } catch (Exception e) { System.out.println(e.toString()); return null; } } public ArrayList<Atendimento> findById(int id) { Atendimento a = null; Session objSession = this.objSessionFactory.openSession(); ArrayList<Atendimento> lstAtendimentos = null; try { Query objQuery = objSession.createQuery("from Atendimento a where id = :id"); objQuery.setParameter("id", id); lstAtendimentos = (ArrayList<Atendimento>) objQuery.list(); } catch (Exception e) { return null; } return lstAtendimentos; } public ArrayList<Pessoa> findPessoaByIdPessoa(int id) { Pessoa p = null; Session objSession = this.objSessionFactory.openSession(); ArrayList<Pessoa> lstPessoa = null; try { Transaction t = objSession.beginTransaction(); Query objQuery = objSession.createQuery("from Pessoa p where id = :id"); objQuery.setParameter("id", id); lstPessoa = (ArrayList<Pessoa>) objQuery.list(); t.commit(); //objSession.evict(objSession); } catch (Exception e) { System.out.println(e.toString()); return null; } objSession.close(); return lstPessoa; } }