Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package org.mm.MBlog.security.models;
- import java.util.HashSet;
- import java.util.Set;
- import jakarta.persistence.*;
- import jakarta.validation.constraints.Email;
- import jakarta.validation.constraints.NotBlank;
- import jakarta.validation.constraints.NotNull;
- import jakarta.validation.constraints.Size;
- @Entity
- @Table(name = "users", uniqueConstraints = { @UniqueConstraint(columnNames = "username"), @UniqueConstraint(columnNames = "email") })
- public class User {
- @Id
- @GeneratedValue(strategy = GenerationType.IDENTITY)
- private Long id;
- public Long getId() { return id; }
- public void setId(Long id) { this.id = id; }
- @NotBlank
- @Size(max = 20)
- private String username;
- public @NotBlank @Size(max = 20) String getUsername() { return username; }
- public void setUsername(@NotBlank @Size(max = 20) String username) { this.username = username; }
- @NotBlank
- @Size(max = 50)
- @Email
- private String email;
- public @NotBlank @Size(max = 50) @Email String getEmail() { return email; }
- public void setEmail(@NotBlank @Size(max = 50) @Email String email) { this.email = email; }
- @NotNull
- private int profilePic;
- public int getProfilePic() { return profilePic; }
- public void setProfilePic(int profilePic) { this.profilePic = profilePic; }
- @NotBlank
- @Size(max = 120)
- private String password;
- public @NotBlank @Size(max = 120) String getPassword() { return password; }
- public void setPassword(@NotBlank @Size(max = 120) String password) { this.password = password; }
- @ManyToMany(fetch = FetchType.LAZY)
- @JoinTable(name = "user_roles",
- joinColumns = @JoinColumn(name = "user_id"),
- inverseJoinColumns = @JoinColumn(name = "role_id"))
- private Set<Role> roles = new HashSet<>();
- public Set<Role> getRoles() { return roles; }
- public void setRoles(Set<Role> roles) { this.roles = roles; }
- public User() { }
- public User(String username, String email, String password) {
- this.username = username;
- this.email = email;
- this.password = password;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement