com.teamj.distribuidas.model.queries.UsuarioQueries.java Source code

Java tutorial

Introduction

Here is the source code for com.teamj.distribuidas.model.queries.UsuarioQueries.java

Source

/*
 * 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.teamj.distribuidas.model.queries;

import com.teamj.distribuidas.conn.HibernateUtilSeguridades;
import com.teamj.distribuidas.model.database.Usuario;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;

/**
 *
 * @author Jose Guaman
 */
public class UsuarioQueries {

    public static Usuario insertarUsuario(Usuario usuario) {
        Session session = HibernateUtilSeguridades.getSessionSeguridadFactory().getCurrentSession();
        Usuario user = null;
        try {
            user = (Usuario) session.merge(usuario);
        } catch (HibernateException he) {
            System.err.println("Error UsuarioQueries al insertar.");
            throw he;
        }
        return user;
    }

    public static Usuario retrieveUsuariobyCode(Integer _code) {
        Session session = HibernateUtilSeguridades.getSessionSeguridadFactory().getCurrentSession();
        Usuario patient = null;
        try {
            Query query = session.createQuery("from Usuario as p where p.codigo=:codePatient");
            query.setParameter("codePatient", _code);
            patient = (Usuario) query.uniqueResult();
        } catch (HibernateException e) {
            System.err.println("Error UsuarioQueries retrieve by code.");
            throw e;
        }
        return patient;
    }

    public static Usuario retrieveUsuarioByNombre(String nombre) {
        Session session = HibernateUtilSeguridades.getSessionSeguridadFactory().getCurrentSession();
        Usuario user = null;
        try {
            Query query = session.createQuery("from Usuario as p where p.nombreUsuario=:codePatient");
            query.setParameter("codePatient", nombre);
            user = (Usuario) query.uniqueResult();
        } catch (HibernateException e) {
            System.err.println("Error UsuarioQueries retrieve by nombre.");
            throw e;
        }
        return user;
    }

    public static List<Usuario> retrieveListUsuarios() {
        Session session = HibernateUtilSeguridades.getSessionSeguridadFactory().getCurrentSession();
        Query query = session.createQuery("from Usuario p");
        List<Usuario> lista = (List<Usuario>) query.list();
        return lista;
    }

    public static void actualizarUsuario(Usuario pac) {
        Session session = HibernateUtilSeguridades.getSessionSeguridadFactory().getCurrentSession();
        session.update(pac);
    }

    public static void eliminarUsuario(Usuario _objPatient) {
        Session session = HibernateUtilSeguridades.getSessionSeguridadFactory().getCurrentSession();
        session.delete(_objPatient);
    }

    public static Usuario autentificacionUsuario(String nombre, String clave) {
        Usuario user = null;
        Session session = HibernateUtilSeguridades.getSessionSeguridadFactory().getCurrentSession();
        try {
            Query query = session
                    .createQuery("from Usuario as p where p.nombreUsuario=:codePatient and p.password=:passwd");
            query.setParameter("codePatient", nombre);
            query.setParameter("passwd", clave);
            user = (Usuario) query.uniqueResult();
        } catch (HibernateException e) {
            System.err.println("Error UsuarioQueries retrieve by nombre.");
            throw e;
        }

        return user;
    }

    public static List<Usuario> retrieveListUsuariosByPerfil(Integer codigoPerf) {
        Session session = HibernateUtilSeguridades.getSessionSeguridadFactory().getCurrentSession();
        Query query = session.createQuery(
                "from Usuario as p inner join fetch p.usuarioXPerfils u where u.perfil.codigoPerfil=:codg");
        query.setParameter("codg", codigoPerf);
        List<Usuario> lista = (List<Usuario>) query.list();
        return lista;
    }

    public static List<Usuario> retrieveListUsuariosNoAsignados() {
        Session session = HibernateUtilSeguridades.getSessionSeguridadFactory().getCurrentSession();
        Query query = session.createQuery(
                "FROM Usuario as u where u.codigo not in (select distinct(p.usuario.codigo) from UsuarioXPerfil as p)");
        //SELECT * FROM seguridad.usuario where codigo not in (select distinct(usuario_codigo) from usuario_x_perfil);
        List<Usuario> lista = (List<Usuario>) query.list();
        return lista;
    }
}