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 Datos; import org.hibernate.Session; import org.hibernate.Transaction; import org.hibernate.HibernateException; import Entidades.Paciente; import java.text.SimpleDateFormat; import java.util.List; import org.hibernate.Query; /** * * @author ernesto */ public class PacienteDAO { private Session sesion; private Transaction tx; private void iniciarOperacion() throws HibernateException { sesion = HibernateUtil.getSessionFactory().openSession(); tx = sesion.beginTransaction(); } private void manejaExcepcion(HibernateException he) throws HibernateException { tx.rollback(); throw new HibernateException("Ocurri un error en la capa de acceso a datos", he); } public long insertar(Paciente paciente) throws HibernateException { long id = 0; try { iniciarOperacion(); id = (long) sesion.save(paciente); tx.commit(); } catch (HibernateException he) { manejaExcepcion(he); } finally { sesion.close(); } return id; } public void modificar(Paciente paciente) throws HibernateException { try { iniciarOperacion(); sesion.update(paciente); tx.commit(); } catch (HibernateException he) { manejaExcepcion(he); } finally { sesion.close(); } } public void eliminar(Paciente paciente) throws HibernateException { try { iniciarOperacion(); sesion.delete(paciente); tx.commit(); } catch (HibernateException he) { manejaExcepcion(he); } finally { sesion.close(); } } public Paciente obtener(long id) throws HibernateException { Paciente paciente = null; try { iniciarOperacion(); paciente = (Paciente) sesion.get(Paciente.class, id); } catch (HibernateException he) { manejaExcepcion(he); } finally { sesion.close(); } return paciente; } public List<Paciente> obtenerTodos() throws HibernateException { List<Paciente> lista = null; try { iniciarOperacion(); lista = sesion.createQuery("from Paciente").list(); } finally { sesion.close(); } return lista; } public List<Paciente> buscar(String texto) throws HibernateException { List<Paciente> lista = null; try { iniciarOperacion(); Query query = sesion.createQuery("FROM Paciente WHERE apellidoPaterno" + " LIKE '%" + texto + "%' OR apellidoMaterno LIKE '%" + texto + "%' OR nombres LIKE '%" + texto + "%'"); lista = query.list(); } finally { sesion.close(); } return lista; } public Paciente verificarExistencia(Paciente pte) { Paciente paciente = null; try { iniciarOperacion(); Query query = sesion.createQuery("FROM Paciente WHERE " + "apellidoPaterno=:apellidoPaterno AND " + "apellidoMaterno=:apellidoMaterno AND " + "nombres=:nombres AND " + "fechaNacimiento=:fecha"); query.setText("apellidoPaterno", pte.getApellidoPaterno()); query.setText("apellidoMaterno", pte.getApellidoMaterno()); query.setText("nombres", pte.getNombres()); query.setDate("fecha", pte.getFechaNacimiento()); if (query.list().size() > 0) { paciente = (Paciente) query.list().get(0); } else { paciente = null; } } catch (HibernateException he) { manejaExcepcion(he); } finally { sesion.close(); } return paciente; } }