Pessoal, primeiramente Oi. To com uma dúvida, é o seguinte, to fazendo um programa e cheguei em uma parte que preciso entrar na minha conta, procurar uma pessoa através do seu email e se encontrar enviar um convite de amizade, depois sair dessa conta e entrar na conta que o convite foi enviado para aceitar a solicitação.
O projeto é todo estruturado, fachada, cadastro, repositório, interface…
eu criei o método procurar no repositório, mas não to sabendo como fazer essa parte.
agradeço bastante quem der uma força.
Olá,
Você não especificou muito bem o seu problema mas vamos lá! 
Em um projeto utilizando hibernate criei as classes de negócio semelhante a presente no diagrama abaixo para controlar a parte de envio/recebimento de solicitações de amizade:

A classe Amizade contém o usuário que solicitou, o usuário que recebe a solicitação e um status (Aceito, Recusado ou Em espera). Para a solicitação eu crio um registro contendo o usuário solicitante e o usuário que recebe essa solicitação com o status de Espera. Para confirmar a amizade eu altero esse registro para Aceito. Quando é necessário listar os usuários amigos só é necessário buscar os registros que contém usuárioDestino ou usuarioOrigem igual ao usuario logado.
Para buscar os usuários por email, por exemplo, utilizo o método:
public List<Usuario> listUsuariosByEmail(String email) {
EntityManager em = emf.createEntityManager();
Query q = em.createQuery(
"select u from Usuario u where lower(u.email) like concat('%', :email, '%')");
q.setParameter("email", email);
return q.getResultList();
}
Você pode consultar o código desenvolvido para criar essa funcionalidade aqui:
SplettPet: Solicitação de amizade
SplettPet: Pesquisas por usuário
Espero ter ajudado! 
Muito obrigado pela resposta e pelo código no git.
Eu tava fazendo dessa maneira, vou tentar explicar, se não der pra compreender eu mando o código que fica melhor.
Criei 1 classe chamada user, dentro dela alguns atributos, nome, idade… e 1 Arraylist convitesPendentes, esse array é pra armazenar as solicitações. Agora to tentando criar um método dentro da classe User que receba como parâmetro o resultado de uma busca feita no repositório pra procurar o User que eu quero por email.
Esse método na classe User deve enviar o User que está ativo no momento para a lista de convitesPendetes do User que eu encontrei na busca.
Eu não criei uma nova classe amizade.
Da pra fazer com esse raciocínio ou devo criar uma classe amizade ?
Mais uma vez, Obrigado por tirar uma tempo pra responder minha dúvida.