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 com.edu.rodriguez.dao; import com.edu.rodriguez.entity.Contacto; import java.util.List; import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.Transaction; /** * * @author emrodriguez */ public class ContactoDao { private Session sesion; private Transaction tx; private void iniciaOperacion() throws HibernateException { sesion = Conexion.getSessionFactory().openSession(); tx = sesion.beginTransaction(); } private void manejaExcepcion(HibernateException he) throws HibernateException { tx.rollback(); throw new HibernateException("Ocurrip un error en la capa de acceso a datos", he); } public void guardarContacto(Contacto contacto) throws HibernateException { try { System.out.println("Ingreso"); iniciaOperacion(); sesion.save(contacto); tx.commit(); } catch (HibernateException he) { manejaExcepcion(he); throw he; } finally { sesion.close(); } } public void actualizarContacto(Contacto contacto) throws HibernateException { try { iniciaOperacion(); sesion.update(contacto); tx.commit(); } catch (HibernateException he) { manejaExcepcion(he); throw he; } finally { sesion.close(); } } public void eliminarContacto(Contacto contacto) throws HibernateException { try { iniciaOperacion(); sesion.delete(contacto); tx.commit(); } catch (HibernateException he) { manejaExcepcion(he); throw he; } finally { sesion.close(); } } public Contacto obtenerContacto(Integer idContacto) throws HibernateException { Contacto contacto = null; try { iniciaOperacion(); contacto = (Contacto) sesion.get(Contacto.class, idContacto); } finally { sesion.close(); } return contacto; } public List<Contacto> obtenerListaContactos() { List<Contacto> listaContactos = null; try { iniciaOperacion(); listaContactos = sesion.createQuery("from Contacto").list(); } finally { sesion.close(); } return listaContactos; } }