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.DocenteDao; import com.atlanta.educati.pojo.Docente; 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 DocenteDaoImp implements DocenteDao { SessionFactory sesionFactory = HibernateUtil.getSessionFactory(); @Override public int save(Docente 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 Docente get(int id) { Session sesion = sesionFactory.openSession(); sesion.beginTransaction().commit(); Criteria criteria = sesion.createCriteria(Docente.class); Docente x = (Docente) criteria.add(Restrictions.eq("id", id)).uniqueResult(); sesion.close(); return x; } @Override public int update(Docente 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(Docente 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<Docente> findAll() { Session sesion = sesionFactory.openSession(); sesion.beginTransaction().commit(); Criteria criteria = sesion.createCriteria(Docente.class); List<Docente> lista = (List<Docente>) 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 Docente CriteriaUnique(Map mapa) { Session sesion = sesionFactory.openSession(); sesion.beginTransaction().commit(); Criteria criteria = sesion.createCriteria(Docente.class); for (String key : (List<String>) mapa.keySet()) { criteria.add(Restrictions.eq(key, mapa.get(key))); } Docente x = (Docente) criteria.uniqueResult(); sesion.close(); return x; } @Override public List CriteriaList(Map mapa) { Session sesion = sesionFactory.openSession(); sesion.beginTransaction().commit(); Criteria criteria = sesion.createCriteria(Docente.class); for (String key : (List<String>) mapa.keySet()) { criteria.add(Restrictions.eq(key, mapa.get(key))); } List<Docente> lista = (List<Docente>) criteria.list(); sesion.close(); return lista; } }