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.ipn.escom.ageinnn.gestion.service; import com.ipn.escom.ageinnn.alumno.model.Alumno; import com.ipn.escom.ageinnn.curso.model.Curso; import com.ipn.escom.ageinnn.curso.model.EstadoCurso; import com.ipn.escom.ageinnn.curso.model.Grupo; import com.ipn.escom.ageinnn.curso.model.Inscripcion; import com.ipn.escom.ageinnn.curso.model.InscripcionId; import com.ipn.escom.ageinnn.service.Service; import com.ipn.escom.ageinnn.usuario.model.MedicoResidente; import java.io.Serializable; import java.util.ArrayList; import java.util.List; import org.hibernate.Session; import org.hibernate.criterion.Restrictions; /** * * @author Erick */ public class InscripcionService { Session session; public List<Inscripcion> findAllAlumnosByGrupo(Grupo grupo) { List<Inscripcion> inscripcionList = new ArrayList<>(); session = Service.getSessionFactory().getCurrentSession(); session.beginTransaction(); inscripcionList = session.createCriteria(Inscripcion.class).add(Restrictions.eq("grupo", grupo)).list(); session.getTransaction().commit(); return inscripcionList; } public Serializable inscribirAlumno(Grupo grupo, MedicoResidente alumno) { InscripcionId inscripcionId = new InscripcionId(); Inscripcion inscripcion = new Inscripcion(); if (grupo.getDisponibilidad() > 0) { inscripcionId.setAlumnoId(alumno.getId()); inscripcionId.setCursoId(grupo.getCursoId()); inscripcionId.setPeriodoId(grupo.getPeriodoId()); inscripcionId.setClave(grupo.getClave()); inscripcion.setInscripcionId(inscripcionId); try { session = Service.getSessionFactory().getCurrentSession(); session.beginTransaction(); InscripcionId inscripcionId1 = (InscripcionId) session.save(inscripcion); grupo.setDisponibilidad(grupo.getDisponibilidad() - 1); session.saveOrUpdate(grupo); session.getTransaction().commit(); } catch (Exception e) { session.getTransaction().rollback(); throw e; } } else { } return inscripcionId; } public Inscripcion findById(InscripcionId inscripcionId) { Inscripcion inscripcion; try { session = Service.getSessionFactory().getCurrentSession(); session.beginTransaction(); inscripcion = (Inscripcion) session.get(Inscripcion.class, inscripcionId); session.getTransaction().commit(); } catch (Exception e) { session.getTransaction().rollback(); throw e; } return inscripcion; } public void update(Inscripcion inscripcion) { try { session = Service.getSessionFactory().getCurrentSession(); session.beginTransaction(); session.saveOrUpdate(inscripcion); session.getTransaction().commit(); } catch (Exception e) { session.getTransaction().rollback(); throw e; } } public Inscripcion findByCursoAndMedicoResidente(Curso curso, MedicoResidente medicoResidente) { Inscripcion inscripcion; try { session = Service.getSessionFactory().getCurrentSession(); session.beginTransaction(); inscripcion = (Inscripcion) session.createCriteria(Inscripcion.class) .add(Restrictions.and(Restrictions.eq("cursoId", curso.getId()), Restrictions.eq("alumnoId", medicoResidente.getId()))) .uniqueResult(); session.getTransaction().commit(); } catch (Exception e) { session.getTransaction().rollback(); throw e; } return inscripcion; } }