Pesquisa de todos com JPA

Pessoal estou com dificuldades de fazer uma pesquisa para retornar todos os Serviços somente um Aluno
muitos me falaram para usar o count mas eu fiz dessa forma, não sei se está correto !!!
se alguém poder me dar a solução deste problema !!!

public List<Servico> getServicosByAluno(Aluno aluno) {
		EntityManager em = new JPAUtil().getEntityManager();
		em.getTransaction().begin();
		
		try {
			Query query = em
					.createQuery("from Servico u where u.Aluno = :aluno");
			
			query.setParameter("aluno", aluno);
			
			@SuppressWarnings("unchecked")
			List<Servico> servicos = query.getResultList();
			em.getTransaction().commit();
			em.close();
			
			return servicos;
		} catch (NoResultException e) {
			return null;
		} catch (Exception e) {
			return null;
		}
	}

aguardo alguém…

Desculpe mas… como você não sabe se está correto?

Você testou? Viu oq retorna dessa consulta?

estranho porque não está me retornando, vou mostrar como estou fazendo o para chamar

public void carregarServicosbyAlunox(){
		this.itens = new AlunoDAO().getServicosByAluno(aluno);	
	}

e está retornando vazia, não sei se o problema pode está aqui !!!

Vc viu se está dando erro? Seu try/catch não está imprimindo nada…

Azalin,

existe outra opção para obter o mesmo resultado, e acredito que seja mais fácil, na classe Aluno você mapeia a classe serviço:

public class Aluno{
  
  @OneToMany(mappedBy = "aluno")   
  private List<Servico> servicos;

}

tem sim
eu uso assim

Servico servico = new Servico();	
private java.util.List<Servico> servicos;