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

HIBERNATE Não identifica a propriedade @Id na Classe User

ele me retorna esse erro

2024-12-10T14:40:05.085-03:00 ERROR 23566 --- [demo] [  restartedMain] o.s.boot.SpringApplication               : Application run failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Entity 'ALURAPROJECT.demo.classes.User.User' has no identifier (every '@Entity' class must declare or inherit at least one '@Id' or '@EmbeddedId' property)
@Entity
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode
public class User implements UserDetails {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id")
    private Long id;
    
    private String nome;
    private String email;
    private String senha;

    @Enumerated(EnumType.STRING)
    private EnumRole role;
    private LocalDateTime criadoEm = LocalDateTime.now();
    
    @Override
    public Collection<? extends GrantedAuthority> getAuthorities() {
            return List.of(new SimpleGrantedAuthority("ROLE_USER"));
    }
    @Override
    public String getPassword() {
       return senha;
    }
    @Override
    public String getUsername() {
        return email;

}

@Override
public boolean isAccountNonExpired() {
    return true;
}

@Override
public boolean isAccountNonLocked() {
    return true;
}

@Override
public boolean isCredentialsNonExpired() {
    return true;
}

@Override
public boolean isEnabled() {
    return true;
}
}
2 respostas
solução!

Oi, boa noite, tudo bem? Você pode postar qual import essas anotações do hibernate na classe User está pegando?

O correto são esses:

import jakarta.persistence.Entity;
import jakarta.persistence.Table;
import jakarta.persistence.Id;
import jakarta.persistence.GeneratedValue;

resolveu meu problema obrigado