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.atlanta.educati.daoImp; import com.atlanta.educati.dao.PersonaDao; import com.atlanta.educati.pojo.Persona; import com.atlanta.educati.util.HibernateUtil; import java.util.List; import java.util.Map; import org.hibernate.Criteria; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.criterion.Restrictions; /** * * @author Nerio */ public class PersonaDaoImp implements PersonaDao { SessionFactory sesionFactory = HibernateUtil.getSessionFactory(); @Override public int save(Persona x) { Session sesion = sesionFactory.openSession(); Transaction tx = sesion.beginTransaction(); //Variable de respuesta int r = 0; try { sesion.save(x); tx.commit(); r++; } catch (Exception e) { System.out.println("" + e.getMessage()); tx.rollback(); } finally { sesion.close(); } return r; } @Override public Persona get(int id) { Session sesion = sesionFactory.openSession(); sesion.beginTransaction().commit(); Criteria criteria = sesion.createCriteria(Persona.class); Persona x = (Persona) criteria.add(Restrictions.eq("id", id)).uniqueResult(); sesion.close(); return x; } @Override public int update(Persona x) { Session sesion = sesionFactory.openSession(); Transaction tx = sesion.beginTransaction(); //Variable de respuesta int r = 0; try { sesion.clear(); sesion.update(x); tx.commit(); r++; } catch (Exception e) { System.out.println("" + e.getMessage()); tx.rollback(); } finally { sesion.close(); } return r; } @Override public int drop(Persona x) { Session sesion = sesionFactory.openSession(); Transaction tx = sesion.beginTransaction(); //Variable de respuesta int r = 0; try { sesion.delete(x); tx.commit(); r++; } catch (Exception e) { System.out.println("" + e.getMessage()); tx.rollback(); } finally { sesion.close(); } return r; } @Override public List<Persona> findAll() { Session sesion = sesionFactory.openSession(); sesion.beginTransaction().commit(); Criteria criteria = sesion.createCriteria(Persona.class); List<Persona> lista = (List<Persona>) criteria.list(); sesion.close(); return lista; } @Override public Object consultUnique(String consulta) { Session sesion = sesionFactory.openSession(); sesion.beginTransaction().commit(); Query query = sesion.createQuery(consulta); Object objeto = query.uniqueResult(); sesion.close(); return objeto; } @Override public List consultList(String consulta) { Session sesion = sesionFactory.openSession(); sesion.beginTransaction().commit(); Query query = sesion.createQuery(consulta); List lista = query.list(); sesion.close(); return lista; } @Override public Persona CriteriaUnique(Map mapa) { Session sesion = sesionFactory.openSession(); sesion.beginTransaction().commit(); Criteria criteria = sesion.createCriteria(Persona.class); for (String key : (List<String>) mapa.keySet()) { criteria.add(Restrictions.eq(key, mapa.get(key))); } Persona x = (Persona) criteria.uniqueResult(); sesion.close(); return x; } @Override public List CriteriaList(Map mapa) { Session sesion = sesionFactory.openSession(); sesion.beginTransaction().commit(); Criteria criteria = sesion.createCriteria(Persona.class); for (String key : (List<String>) mapa.keySet()) { criteria.add(Restrictions.eq(key, mapa.get(key))); } List<Persona> lista = (List<Persona>) criteria.list(); sesion.close(); return lista; } }