List of usage examples for org.hibernate SQLQuery setInteger
@Deprecated @SuppressWarnings("unchecked") default Query<R> setInteger(int position, int val)
From source file:com.wavemaker.runtime.data.util.QueryHandler.java
License:Open Source License
@Override public Object invoke(Object proxy, Method m, Object[] args) throws Throwable { String methodName = m.getName(); if (methodName == null || methodName.length() == 0) { return null; }/*from w w w .jav a2 s .c o m*/ if (!methodName.equals("save") && !methodName.equals("update") && !methodName.equals("delete") && !methodName.equals("getNamedQuery") && !methodName.equals("get") && !methodName.equals("createQuery") && !methodName.equals("createSQLQuery")) { return m.invoke(this.target, args); } String setterName; WMAppContext wmApp = WMAppContext.getInstance(); String tFldName = wmApp.getTenantFieldName(); int tid = SecurityService.getTenantId(); boolean tidExists = true; if (tid == -1) { tid = wmApp.getDefaultTenantID(); } String qryStr; this.tenantAdded = false; if (methodName.equalsIgnoreCase("createQuery")) { qryStr = modifySQL(args[0], tFldName, tid); Query qry = (Query) m.invoke(this.target, qryStr); if (this.tenantAdded) { qry.setInteger("wmtidval", tid); } return qry; } else if (methodName.equalsIgnoreCase("createSQLQuery")) { qryStr = modifySQL(args[0], tFldName, tid); SQLQuery sqlqry = (SQLQuery) m.invoke(this.target, qryStr); if (this.tenantAdded) { sqlqry.setInteger("wmtidval", tid); } return sqlqry; } else if (methodName.equalsIgnoreCase("getNamedQuery")) { Map namedQueries = this.cfg.getNamedQueries(); NamedQueryDefinition qd = (NamedQueryDefinition) namedQueries.get(args[0]); qryStr = qd.getQuery(); Query qry = (Query) m.invoke(this.target, args); if (qryStr.contains("wmtidval")) { qry.setInteger("wmtidval", tid); } return qry; } else if (methodName.equalsIgnoreCase("get")) { Object o = m.invoke(this.target, args); Class<?> cls = o.getClass(); Object no = cls.newInstance(); cloneObject(o, no, cls); String t = tFldName.substring(0, 1).toUpperCase(); String getterName = "get" + t + tFldName.substring(1); Method tidGetter = null; int val; try { tidGetter = cls.getMethod(getterName); } catch (NoSuchMethodException ne) { tidExists = false; } if (tidExists) { val = (Integer) tidGetter.invoke(o); if (tid != val) { String err = "*** Security Viloation - Tenant ID mismatch ***"; err = err + "*** Tenant ID passed = " + val + ", Tenant ID of login user = " + tid + " ***"; throw new WMRuntimeException(err); } } cloneObject(no, o, cls); return o; } else if (methodName.equalsIgnoreCase("update")) { Object o = args[0]; Class<?> cls = o.getClass(); String t = tFldName.substring(0, 1).toUpperCase(); String getterName = "get" + t + tFldName.substring(1); Method tidGetter = null; Object no; int val; try { tidGetter = cls.getMethod(getterName); } catch (NoSuchMethodException ne) { tidExists = false; } if (tidExists) { val = (Integer) tidGetter.invoke(o); if (tid != val) { String err = "*** Security Viloation - Tenant ID mismatch ***"; err = err + "*** Tenant ID passed = " + val + ", Tenant ID of login user = " + tid + " ***"; throw new WMRuntimeException(err); } else { no = cls.newInstance(); cloneObject(o, no, cls); Class tcls = this.target.getClass(); Method rm = tcls.getMethod("refresh", Object.class); rm.invoke(this.target, o); val = (Integer) tidGetter.invoke(o); if (tid != val) { String err = "*** Security Viloation - Tenant ID mismatch ***"; err = err + "*** You can only update records that belong to you ***"; throw new WMRuntimeException(err); } } cloneObject(no, o, cls); } return m.invoke(this.target, args); } else { // save, delete, contains Object o = args[0]; Class<?> cls = o.getClass(); String s = tFldName.substring(0, 1).toUpperCase(); setterName = "set" + s + tFldName.substring(1); Method setter = null; try { setter = cls.getMethod(setterName, Integer.class); } catch (NoSuchMethodException ne) { tidExists = false; } if (tidExists) { setter.invoke(o, tid); } return m.invoke(this.target, args); } }
From source file:es.emergya.bbdd.dao.RecursoHome.java
License:Open Source License
@Transactional(readOnly = true, rollbackFor = Throwable.class, propagation = Propagation.REQUIRED) public RecursoBean getByDispositivoSQL(Integer issi) { SQLQuery query = getSession().createSQLQuery("select r.x_recurso as " + "id, r.identificador as identificador, r.habilitado as habilitado, " + "r.tipo as \"tipoRecurso\", s.nombre as " + "subflota, r.dispositivo as dispositivo from recursos as r join flotas s on r.flota_x_flota = s.x_flota " + "where r.dispositivo = :DISPOSITIVO"); query.setInteger("DISPOSITIVO", issi); query.setResultTransformer(Transformers.aliasToBean(RecursoBean.class)); RecursoBean recurso = (RecursoBean) query.uniqueResult(); return recurso; }
From source file:es.logongas.fpempresa.dao.empresa.impl.OfertaDAOImplHibernate.java
License:Open Source License
@Override public List<Oferta> getOfertasUsuarioTitulado(DataSession dataSession, Usuario usuario, Provincia provincia, Date fechaInicio, Date fechaFin) { Session session = (Session) dataSession.getDataBaseSessionImpl(); StringBuilder sb = new StringBuilder(); sb.append("SELECT oferta.*\n" + "FROM\n" + " oferta \n" + " INNER JOIN ofertaciclo ON oferta.idOferta=ofertaciclo.idOferta \n" + " INNER JOIN municipio as municipiooferta ON oferta.idMunicipio=municipiooferta.idMunicipio\n" + " INNER JOIN empresa ON oferta.idEmpresa=empresa.idEmpresa,\n" + " usuario \n" + " INNER JOIN formacionacademica ON usuario.idTitulado=formacionacademica.idTitulado \n" + " INNER JOIN titulado ON usuario.idTitulado=titulado.idTitulado \n" + " INNER JOIN municipio as municipiotitulado ON titulado.idMunicipio=municipiotitulado.idMunicipio\n" + "WHERE\n" + " oferta.cerrada <> 1 AND\n" + " usuario.idIdentity=? AND\n" + " empresa.idCentro IS NULL AND\n" + " ofertaciclo.idCiclo=formacionacademica.idCiclo AND\n"); if (provincia != null) { sb.append(" municipiooferta.idProvincia=? AND\n"); }// w w w. ja va 2 s .c o m if (fechaInicio != null) { sb.append(" oferta.fecha>=? AND\n"); } if (fechaFin != null) { sb.append(" oferta.fecha<=? AND\n"); } sb.append( " not exists (SELECT * FROM candidato WHERE candidato.idIdentity=usuario.idIdentity AND candidato.idOferta=oferta.idOferta)\n"); sb.append(" UNION DISTINCT \n"); sb.append("SELECT oferta.*\n" + "FROM\n" + " oferta \n" + " INNER JOIN ofertaciclo ON oferta.idOferta=ofertaciclo.idOferta \n" + " INNER JOIN municipio as municipiooferta ON oferta.idMunicipio=municipiooferta.idMunicipio\n" + " INNER JOIN empresa ON oferta.idEmpresa=empresa.idEmpresa,\n" + " usuario \n" + " INNER JOIN formacionacademica ON usuario.idTitulado=formacionacademica.idTitulado \n" + "WHERE\n" + " oferta.cerrada <> 1 AND\n" + " usuario.idIdentity=? AND\n" + " empresa.idCentro = formacionacademica.idCentro AND\n" + " ofertaciclo.idCiclo=formacionacademica.idCiclo AND\n"); if (provincia != null) { sb.append(" municipiooferta.idProvincia=? AND\n"); } if (fechaInicio != null) { sb.append(" oferta.fecha>=? AND\n"); } if (fechaFin != null) { sb.append(" oferta.fecha<=? AND\n"); } sb.append( " not exists (SELECT * FROM candidato WHERE candidato.idIdentity=usuario.idIdentity AND candidato.idOferta=oferta.idOferta)"); sb.append(" ORDER BY fecha DESC"); SQLQuery sqlQuery = session.createSQLQuery(sb.toString()); sqlQuery.addEntity(Oferta.class); int paramNumber = 0; sqlQuery.setInteger(paramNumber++, usuario.getIdIdentity()); if (provincia != null) { sqlQuery.setInteger(paramNumber++, provincia.getIdProvincia()); } if (fechaInicio != null) { sqlQuery.setDate(paramNumber++, fechaInicio); } if (fechaFin != null) { sqlQuery.setDate(paramNumber++, fechaFin); } sqlQuery.setInteger(paramNumber++, usuario.getIdIdentity()); if (provincia != null) { sqlQuery.setInteger(paramNumber++, provincia.getIdProvincia()); } if (fechaInicio != null) { sqlQuery.setDate(paramNumber++, fechaInicio); } if (fechaFin != null) { sqlQuery.setDate(paramNumber++, fechaFin); } return (List<Oferta>) sqlQuery.list(); }
From source file:es.logongas.fpempresa.dao.estadisticas.impl.EstadisticaDAOImplHibernate.java
License:Open Source License
@Override public List<FamiliaEstadistica> getOfertasGroupByFamilia(DataSession dataSession, Empresa empresa) { Session session = (Session) dataSession.getDataBaseSessionImpl(); String sql = "SELECT \n" + " familia.idFamilia,familia.descripcion,COUNT(*) as valor\n" + "FROM\n" + " familia JOIN ( oferta INNER JOIN empresa ON oferta.idEmpresa=empresa.idEmpresa ) ON familia.idFamilia=oferta.idFamilia\n" + "WHERE\n" + " empresa.idEmpresa=?" + "\n" + "GROUP BY\n" + " familia.idFamilia,familia.descripcion"; SQLQuery sqlQuery = session.createSQLQuery(sql); sqlQuery.setInteger(0, empresa.getIdEmpresa()); return getListFamiliaEstadistica(sqlQuery.list()); }
From source file:es.logongas.fpempresa.dao.estadisticas.impl.EstadisticaDAOImplHibernate.java
License:Open Source License
@Override public List<FamiliaEstadistica> getOfertasGroupByFamilia(DataSession dataSession, Centro centro, Integer anyoInicio, Integer anyoFin) { Session session = (Session) dataSession.getDataBaseSessionImpl(); String sql = "SELECT \n" + " familia.idFamilia,familia.descripcion,COUNT(*) as valor\n" + "FROM\n" + " familia JOIN ( oferta INNER JOIN empresa ON oferta.idEmpresa=empresa.idEmpresa ) ON familia.idFamilia=oferta.idFamilia\n" + "WHERE\n" + " empresa.idCentro=?" + (anyoInicio != null ? " AND YEAR(oferta.fecha)>=" + anyoInicio.intValue() + " " : "") + (anyoFin != null ? " AND YEAR(oferta.fecha)<=" + anyoFin.intValue() + " " : "") + "\n" + "GROUP BY\n" + " familia.idFamilia,familia.descripcion"; SQLQuery sqlQuery = session.createSQLQuery(sql); sqlQuery.setInteger(0, centro.getIdCentro()); return getListFamiliaEstadistica(sqlQuery.list()); }
From source file:es.logongas.fpempresa.dao.estadisticas.impl.EstadisticaDAOImplHibernate.java
License:Open Source License
@Override public List<FamiliaEstadistica> getCandidatosGroupByFamilia(DataSession dataSession, Empresa empresa) { Session session = (Session) dataSession.getDataBaseSessionImpl(); String sql = "SELECT \n" + " familia.idFamilia,familia.descripcion,COUNT(*) as valor\n" + "FROM\n" + " familia JOIN ( oferta INNER JOIN empresa ON oferta.idEmpresa=empresa.idEmpresa INNER JOIN candidato ON oferta.idOferta=candidato.idOferta ) ON familia.idFamilia=oferta.idFamilia\n" + "WHERE\n" + " empresa.idEmpresa=?\n" + "GROUP BY\n" + " familia.idFamilia,familia.descripcion"; SQLQuery sqlQuery = session.createSQLQuery(sql); sqlQuery.setInteger(0, empresa.getIdEmpresa()); return getListFamiliaEstadistica(sqlQuery.list()); }
From source file:es.logongas.fpempresa.dao.estadisticas.impl.EstadisticaDAOImplHibernate.java
License:Open Source License
@Override public List<FamiliaEstadistica> getCandidatosGroupByFamilia(DataSession dataSession, Centro centro, Integer anyoInicio, Integer anyoFin) { Session session = (Session) dataSession.getDataBaseSessionImpl(); String sql = "SELECT \n" + " familia.idFamilia,familia.descripcion,COUNT(*) as valor\n" + "FROM\n" + " familia JOIN ( oferta INNER JOIN empresa ON oferta.idEmpresa=empresa.idEmpresa INNER JOIN candidato ON oferta.idOferta=candidato.idOferta ) ON familia.idFamilia=oferta.idFamilia\n" + "WHERE\n" + " empresa.idCentro=?\n" + (anyoInicio != null ? " AND YEAR(candidato.fecha)>=" + anyoInicio.intValue() + " " : "") + (anyoFin != null ? " AND YEAR(candidato.fecha)<=" + anyoFin.intValue() + " " : "") + "GROUP BY\n" + " familia.idFamilia,familia.descripcion"; SQLQuery sqlQuery = session.createSQLQuery(sql); sqlQuery.setInteger(0, centro.getIdCentro()); return getListFamiliaEstadistica(sqlQuery.list()); }
From source file:es.logongas.fpempresa.dao.estadisticas.impl.EstadisticaDAOImplHibernate.java
License:Open Source License
@Override public List<FamiliaEstadistica> getTitulosFPGroupByFamilia(DataSession dataSession, Centro centro, Integer anyoInicio, Integer anyoFin) { Session session = (Session) dataSession.getDataBaseSessionImpl(); String sql = "SELECT \n" + " familia.idFamilia,familia.descripcion, COUNT(formacionacademica.idTitulado) as valor\n" + "FROM\n" + " familia JOIN (ciclo JOIN formacionacademica ON ciclo.idCiclo=formacionacademica.idCiclo) ON familia.idFamilia=ciclo.idFamilia\n" + "WHERE\n" + " formacionacademica.idCentro=?\n" + (anyoInicio != null ? " AND YEAR(formacionacademica.fecha)>=" + anyoInicio.intValue() + " " : "") + (anyoFin != null ? " AND YEAR(formacionacademica.fecha)<=" + anyoFin.intValue() + " " : "") + "GROUP BY\n" + " familia.idFamilia,familia.descripcion"; SQLQuery sqlQuery = session.createSQLQuery(sql); sqlQuery.setInteger(0, centro.getIdCentro()); return getListFamiliaEstadisticaConCiclos(dataSession, sqlQuery.list(), centro, anyoInicio, anyoFin); }
From source file:es.logongas.fpempresa.dao.estadisticas.impl.EstadisticaDAOImplHibernate.java
License:Open Source License
private List<FamiliaEstadistica> getListFamiliaEstadisticaConCiclos(DataSession dataSession, List<Object[]> datos, Centro centro, Integer anyoInicio, Integer anyoFin) { List<FamiliaEstadistica> familiaEstadisticas = new ArrayList<FamiliaEstadistica>(); Session session = (Session) dataSession.getDataBaseSessionImpl(); String sql = ""; for (Object[] dato : datos) { sql = "SELECT \n" + " count(formacionacademica.idTitulado) as 'Valor', ciclo.descripcion, ciclo.idCiclo \n" + "FROM \n" + " (familia JOIN ciclo ON ciclo.idFamilia=familia.idFamilia) JOIN formacionacademica ON formacionacademica.idCiclo = ciclo.idCiclo AND formacionacademica.idCentro = ? " + "WHERE " + " ciclo.idFamilia = ? " + (anyoInicio != null ? " AND YEAR(formacionacademica.fecha)>=" + anyoInicio.intValue() + " " : "") + (anyoFin != null ? " AND YEAR(formacionacademica.fecha)<=" + anyoFin.intValue() + " " : "") + "GROUP BY " + " ciclo.idCiclo"; SQLQuery sqlQuery = session.createSQLQuery(sql); sqlQuery.setInteger(0, (Integer) centro.getIdCentro()); sqlQuery.setInteger(1, (Integer) dato[0]); List<CicloEstadistica> listCiclos = getListCicloEstadistica(sqlQuery.list()); FamiliaEstadistica familiaEstadistica = new FamiliaEstadistica((Integer) dato[0], (String) dato[1], ((Number) dato[2]).intValue(), listCiclos); familiaEstadisticas.add(familiaEstadistica); }/*from ww w. j a va2s . c o m*/ return familiaEstadisticas; }
From source file:es.logongas.fpempresa.dao.titulado.impl.TituladoDAOImplHibernate.java
@Override public List<Titulado> getTituladosSuscritosPorProvinciaOfertaYCiclosOferta(DataSession dataSession, Oferta oferta) {//from w w w .ja v a2 s .c o m Session session = (Session) dataSession.getDataBaseSessionImpl(); StringBuilder stringBuilder = new StringBuilder(); String query = "" + "SELECT DISTINCT titulado.* FROM titulado\n" + "NATURAL JOIN tituladoprovincianotificacion\n" + "NATURAL JOIN formacionacademica\n" + "WHERE titulado.notificarPorEmail = 1\n" + "AND tituladoprovincianotificacion.idProvincia = (\n" + " SELECT idProvincia\n" + " FROM municipio\n" + " INNER JOIN oferta\n" + " ON municipio.idMunicipio = oferta.idMunicipio\n" + " WHERE oferta.idOferta = ?\n" + " )\n" + "AND formacionacademica.idCiclo IN (\n" + " SELECT idCiclo\n" + " FROM ofertaciclo\n" + " WHERE ofertaciclo.idOferta = ?\n" + " )\n"; Centro centro = oferta.getEmpresa().getCentro(); if (centro != null) { query += "AND titulado.idTitulado IN (\n" + " SELECT idTitulado\n" + " FROM formacionacademica\n" + " WHERE formacionacademica.idCentro = ?\n" + " )"; } stringBuilder.append(query); SQLQuery sqlQuery = session.createSQLQuery(stringBuilder.toString()); sqlQuery.addEntity(Titulado.class); sqlQuery.setInteger(0, oferta.getIdOferta()); sqlQuery.setInteger(1, oferta.getIdOferta()); if (centro != null) { sqlQuery.setInteger(2, centro.getIdCentro()); } return (List<Titulado>) sqlQuery.list(); }