Alternativa de union no hibernate

Olá, andei pesquisando sobre union no hibernate e pelo que encontrei isso não é possível, certo?

Meu problema é que preciso unificar esses dois selects em um retorno só, pensei em usar outro método que adiciona uma lista na outra com o addAll(), isso é possível ou é uma gambiarra que me dará dor de cabeça mais para frente?

public List<Atividade> listarAtividadesSeg(String email){
		List<Atividade> list = new ArrayList<Atividade>();
		list = atividadeDAO.buscarAtividadeByEdicao(email);
		list.addAll(atividadeDAO.buscarAtividadesByUnidade(email));
		return list;
	}

@Override
	public List<Atividade> buscarAtividadesByEdicao(String email) {

	  String hql;
		

		
	 hql = 
		 " SELECT at " + 
			" FROM " +  Atividade.class.getSimpleName()+ " as at"+  
		      " INNER JOIN "+ Edicao.class.getSimpleName()+ " as ed"+
		           " on at.registroClasse = ed.id"+
		     " INNER JOIN "+ AcaoSocial.class.getSimpleName() +" as ac " +
		 	      "on ed.acaoSocial = ac.id"+
		 	     " INNER JOIN "+ Unidade.class.getSimpleName() +" as gr " +
		 	      "on ac.unidade = gr.id"+
		" where ac.unidade in (Select User.id_unidade from " + UsuarioUnidade.class.getSimpleName() + " as User" +
		 			    " where User.email ='"+ email + "')";

	
	
		return super.listPesq(hql);	

	}
	
	@Override
	public List<Atividade> buscarAtividadesByUnidade (String email) {

	  String hql;
		

		
			hql = 
			 " SELECT at " + 
				" FROM " +  Atividade.class.getSimpleName()+ " as at"+  
			      " INNER JOIN "+ Unidade.class.getSimpleName() + " as un"+
			           " on at.registroClasse = un.id"+
			" where un.id in (Select User.id_unidade from " + UsuarioUnidade.class.getSimpleName() + " as User" +
			 			    " where User.email ='"+ email + "')";

	
	
		return super.listPesq(hql);	

	}

Grato :slight_smile:

No seu lugar, eu criaria uma view com sua query (fazendo join, union e tudo que precisa) e mapearia um bean para essa view.