fiz assim e resolveu
@SuppressWarnings("unchecked")
public List<Aluno> getAlunos(Integer codigoTurma){
Criteria crit = session.createCriteria(Turma_Aluno.class);
crit.add(Restrictions.eq("turma.codigo", codigoTurma));
List<Turma_Aluno> lista = new ArrayList<Turma_Aluno>();
lista = crit.list();
List<Serializable> ids = new ArrayList<Serializable>();
for (Turma_Aluno i : lista ) {
ids.add(i.getAluno().getCodigo());
}
return getBeansByIds(ids);
}
@SuppressWarnings("unchecked")
public List<Aluno> getBeansByIds(List<Serializable> codigos) {
try {
if (codigos.size() == 1) {
List<Aluno> resultado = new ArrayList<Aluno>();
resultado.add(getBeanTurma(codigos.get(0)));
return resultado;
} else if (codigos.size() > 1) {
Criteria crit = session.createCriteria(Aluno.class);
crit.add(Restrictions.not(Restrictions.in("codigo", codigos)));
return crit.list();
}
} catch (Exception e) {
e.printStackTrace();
}
return new ArrayList<Aluno>();
}