Pessoal, estou fazendo um mini-sistema para cadastro de usuários, sendo que não pode se repetir nomes iguais e nem logins… sei que existem pessoas com o mesmo nome, mas é pré-requisito isso, eles colocariam um identificador no final do nome, mas por fim, estou tempo problema com a exceção em JPA, passo os 2 parametros, nome e login e quando ele não encontra já o nome gera exceção e sai do método, sei até como burlar… mas não teria uma maneira mais inteligente de fazer isso, sem ter que forçar ele da erro para uma verificação correta???, alguém pode postar uma melhor forma?
public boolean isExisti(String nome, String login)
{
factory = Persistence.createEntityManagerFactory("Inventario30PU");
manager = factory.createEntityManager();
EntityTransaction tx = manager.getTransaction();
tx.begin();
try
{
Query query = manager.createNamedQuery("Usuario.findByNome");
query.setParameter("nome", nome);
Usuario usuario = (Usuario) query.getSingleResult();
query = manager.createNamedQuery("Usuario.findBylogin");
query.setParameter("login", login);
usuario = (Usuario) query.getSingleResult();
return true;
}
catch(NoResultException nre)
{
return false;
}
catch (RuntimeException e)
{
e.printStackTrace();
tx.rollback();
return false;
}
}