@SuppressWarnings("unchecked") public OrdemServico montarConjunto(final Long id) { Query q = sessionFactory .getCurrentSession() .createQuery( "SELECT h FROM " + entityClass.getName() + " h " + "LEFT JOIN FETCH h.unidadePai u " + "LEFT JOIN FETCH h.reparo rep " + "LEFT JOIN FETCH h.orcamento orc " + "WHERE h.id=:id"); q.setParameter("id", id); OrdemServico r = (OrdemServico) q.uniqueResult(); Query q2 = sessionFactory .getCurrentSession() .createQuery( "SELECT h FROM " + entityClass.getName() + " h " + "LEFT JOIN FETCH h.unidadePai u " + "LEFT JOIN FETCH h.reparo rep " + "LEFT JOIN FETCH h.orcamento orc " + "WHERE h.unidadePai.id=:id"); q2.setParameter("id", id); List<OrdemServico> pFilhas = q2.list(); r.setPlacasFilhas(new HashSet<OrdemServico>()); r.getPlacasFilhas().addAll(pFilhas); return r; }
public String observacaoConsolidadaConsulta(final OrdemServico ordemservico) throws Exception { final StringBuilder stringSql = new StringBuilder( "SELECT concat('OBS: ', group_concat(h.texto separator ', OBS: ')) FROM observacao h where ref_ordem_servico_id = :osId and escopo = 3 and origem = 'Consulta' group by h.ref_ordem_servico_id"); Query q = sessionFactory.getCurrentSession().createSQLQuery(stringSql.toString()); q.setParameter("osId", ordemservico.getId()); String obsRetorno = (String) q.uniqueResult(); return obsRetorno; }