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