Я создаю приложение Spring Boot с помощью Spring Security и JPA. Я видел два подхода к реализации UserDetails и не понимаю, какой из них использовать и почему.
Подход 1:
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.UUID)
private String userId;
private String name;
private String email;
private String password;
@ManyToMany(fetch = FetchType.EAGER)
private Set roles = new HashSet();
}
Подход 2:
@Entity
@Table(name = "users")
public class User implements UserDetails {
@Id
@GeneratedValue(strategy = GenerationType.UUID)
private String userId;
private String name;
private String email;
private String password;
@ManyToMany(fetch = FetchType.EAGER)
private Set roles = new HashSet();
@Override
public String getUsername() { return email; }
@Override
public String getPassword() { return password; }
@Override
public Collection
Подробнее здесь: https://stackoverflow.com/questions/799 ... separate-u
Мобильная версия