Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Como faço para não usar o "id" na classe JPA, eu gostaria de usar o CPF

Como faço para trocar a refencia de ID para "CPF", ja tentei de tudo

@EqualsAndHashCode(of = "id") public class Usuario implements UserDetails {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
3 respostas

Olá Rafael, tudo bem?

Para utilizar o CPF como identificador da sua classe JPA, você pode fazer o seguinte:

  1. Remova a anotação @Id do atributo id.
  2. Adicione a anotação @NaturalId no atributo que deseja utilizar como identificador natural. No seu caso, seria o CPF.

O código ficaria assim:

@EqualsAndHashCode(of = "cpf")
public class Usuario implements UserDetails {

    @NaturalId
    private String cpf;
    
    // outros atributos e métodos
    
}

Dessa forma, a classe Usuario utilizará o CPF como identificador natural.

Espero ter ajudado e bons estudos!

oi

esse implements UserDetails ele não ta achando, tem q importar uma biblioteca?

solução!

Essa interface UserDetails vem do Spring Security. Verifica no seu projeto se já foi incluído o Spring Security nas dependências.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software