Duvida mehlor forma de modelar cadastro de usuario com JPA/Hibernate

Ola pessoal, primeiramente quero me desculpar se por acaso esse post estiver repetido ou em local erro no forum. Pesquisei algo sobre o assunto e não encontrei uma resposta que sanasse minha duvida.

Estou realizando um cadastro de usuario, onde o usuario possui um login, senha e id. Gosto de utilizar id como chave primaria na minha modelagem, pois traz um pouco mais de perfomance nas consultas.
Porém tenho que garantir que nenhum usuario será repetido. Hoje estou marcando o id com a annotation @Id no meu modelo e no momento do cadastro faço uma pesquisa com o login informado antes de realizar a persistencia.

Porém, depois de um bom tempo fazendo assim, acho essa solução meio estranha ,leia “gambiarra”, para resolver o problema, sendo que tenho em mãos uma ferramenta tão poderosa quanto o Hibernate.

Existe alguma forma de eu melhorar esse processo? Tipo uma annotation no login que o torne exclusivo, mas que não faça parte de uma chave composta.

Abs a todos!

Deixe que o ID o proprio Hibernate tome conta.

Marque o campo nome do login (por exemplo) com @Column(unique=true)

Esse post pode te ajuda: JPA: Mini Livro - Primeiros passos e conceitos detalhados.

Ele mostra como deixar o hibernate/jpa tomar conta da geração de Id.

Realizei a alteração e testei. Deu certo! Tive que pedir a geração da tabela novamente, mas como não esta em produção ainda, isso não foi um problema. Agora é só tratar as exceptions e partir pro abraço :smiley:

Parabéns! Não imaginava que a galera aqui fosse tão rapida assim rs