Advertisement
Guest User

Untitled

a guest
Feb 4th, 2025
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.12 KB | None | 0 0
  1. package org.mm.MBlog.security.models;
  2.  
  3. import java.util.HashSet;
  4. import java.util.Set;
  5.  
  6. import jakarta.persistence.*;
  7. import jakarta.validation.constraints.Email;
  8. import jakarta.validation.constraints.NotBlank;
  9. import jakarta.validation.constraints.NotNull;
  10. import jakarta.validation.constraints.Size;
  11.  
  12. @Entity
  13. @Table(name = "users", uniqueConstraints = { @UniqueConstraint(columnNames = "username"), @UniqueConstraint(columnNames = "email") })
  14. public class User {
  15.     @Id
  16.     @GeneratedValue(strategy = GenerationType.IDENTITY)
  17.     private Long id;
  18.     public Long getId() { return id; }
  19.     public void setId(Long id) { this.id = id; }
  20.  
  21.     @NotBlank
  22.     @Size(max = 20)
  23.     private String username;
  24.     public @NotBlank @Size(max = 20) String getUsername() { return username; }
  25.     public void setUsername(@NotBlank @Size(max = 20) String username) { this.username = username; }
  26.  
  27.     @NotBlank
  28.     @Size(max = 50)
  29.     @Email
  30.     private String email;
  31.     public @NotBlank @Size(max = 50) @Email String getEmail() { return email; }
  32.     public void setEmail(@NotBlank @Size(max = 50) @Email String email) { this.email = email; }
  33.  
  34.     @NotNull
  35.     private int profilePic;
  36.     public int getProfilePic() { return profilePic; }
  37.     public void setProfilePic(int profilePic) { this.profilePic = profilePic; }
  38.  
  39.     @NotBlank
  40.     @Size(max = 120)
  41.     private String password;
  42.     public @NotBlank @Size(max = 120) String getPassword() { return password; }
  43.     public void setPassword(@NotBlank @Size(max = 120) String password) { this.password = password; }
  44.  
  45.     @ManyToMany(fetch = FetchType.LAZY)
  46.     @JoinTable(name = "user_roles",
  47.             joinColumns = @JoinColumn(name = "user_id"),
  48.             inverseJoinColumns = @JoinColumn(name = "role_id"))
  49.     private Set<Role> roles = new HashSet<>();
  50.     public Set<Role> getRoles() { return roles; }
  51.     public void setRoles(Set<Role> roles) { this.roles = roles; }
  52.  
  53.     public User() { }
  54.     public User(String username, String email, String password) {
  55.         this.username = username;
  56.         this.email = email;
  57.         this.password = password;
  58.     }
  59. }
  60.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement