simtra.simtraadmin.dao.ParadaDao.java Source code

Java tutorial

Introduction

Here is the source code for simtra.simtraadmin.dao.ParadaDao.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 simtra.simtraadmin.dao;

import java.util.List;
import org.hibernate.SQLQuery;
import simtra.simtraadmin.modelo.Parada;

/**
 *
 * @author Usuario
 */
public class ParadaDao extends SimtraDao {

    public ParadaDao() {
        super();
        secuencia = "seq_parId";
    }

    public void crear(Parada parada) {
        sesionActual();
        if (parada.getParId() == null) {
            parada.setParId(getNumeroSecuencia());
        }
        sesion.save(parada);
    }

    public void eliminar(Parada parada) {
        sesionActual();
        sesion.delete(parada);
    }

    public void actualizar(Parada parada) {
        sesionActual();
        sesion.update(parada);
    }

    public Parada buscar(Integer id) {
        sesionActual();
        Parada objeto = (Parada) sesion.get("simtra.simtraadmin.modelo.Parada", id);
        return objeto;
    }

    public List<Parada> listar() {
        sesionActual();
        StringBuilder sql = new StringBuilder();
        sql.append("SELECT * ");
        sql.append("FROM parada ");
        SQLQuery query = sesion.createSQLQuery(sql.toString()).addEntity(Parada.class);
        List<Parada> objeto = (List<Parada>) query.list();
        return objeto;
    }

    public List<Parada> listarParadaPorRuta(Integer idRuta) {
        sesionActual();
        StringBuilder sql = new StringBuilder();
        sql.append("SELECT DISTINCT parada.* ");
        sql.append("FROM parada, trayecto, ruta ");
        sql.append("WHERE trayecto.parOrigenId = parada.parId ");
        sql.append("AND trayecto.ruId = ruta.ruId ");
        sql.append("AND ruta.ruId = :idRuta ");
        sql.append("ORDER BY parada.parNombre ASC");
        SQLQuery query = sesion.createSQLQuery(sql.toString()).addEntity(Parada.class);
        query.setInteger("idRuta", idRuta);
        List<Parada> objeto = (List<Parada>) query.list();
        return objeto;
    }

    public List<Parada> listarParadaNoEnRuta(Integer idRuta) {
        sesionActual();
        StringBuilder sql = new StringBuilder();
        sql.append("SELECT * ");
        sql.append("FROM parada ");
        sql.append("WHERE parId NOT IN ");
        sql.append("( SELECT DISTINCT parada.parId ");
        sql.append("FROM parada, trayecto, ruta ");
        sql.append("WHERE trayecto.parOrigenId = parada.parId ");
        sql.append("AND trayecto.ruId = ruta.ruId ");
        sql.append("AND ruta.ruId = :idRuta ) ");
        SQLQuery query = sesion.createSQLQuery(sql.toString()).addEntity(Parada.class);
        query.setInteger("idRuta", idRuta);
        List<Parada> objeto = (List<Parada>) query.list();
        return objeto;
    }

}