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 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; } }