· 6 months ago · Apr 10, 2025, 09:10 AM
1import app.message.model.Message;
2import jakarta.persistence.*;
3import jakarta.validation.constraints.Email;
4import jakarta.validation.constraints.NotNull;
5import lombok.*;
6import java.util.List;
7import java.util.UUID;
8
9@Entity
10@Getter
11@Setter
12@Builder
13@AllArgsConstructor
14@NoArgsConstructor
15public class User {
16
17 @Id
18 private UUID id;
19
20 @Column(unique = true, nullable = false)
21 private String username;
22
23 @Column(nullable = false)
24 private String password;
25
26 @Email
27 @NotNull
28 private String email;
29
30 private String firstName;
31
32 private String lastName;
33
34 private String profilePicture;
35
36 @OneToMany(mappedBy = "sender")
37 private List<Message> sentMessages;
38
39 @OneToMany(mappedBy = "receiver")
40 private List<Message> receivedMessages;
41
42
43 public User() {
44 this.id = UUID.randomUUID();
45 }
46}