summaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/blog/web/models/UserEntity.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/blog/web/models/UserEntity.java')
-rw-r--r--src/main/java/com/blog/web/models/UserEntity.java32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/main/java/com/blog/web/models/UserEntity.java b/src/main/java/com/blog/web/models/UserEntity.java
new file mode 100644
index 0000000..2dfb036
--- /dev/null
+++ b/src/main/java/com/blog/web/models/UserEntity.java
@@ -0,0 +1,32 @@
+package com.blog.web.models;
+
+import jakarta.persistence.*;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Getter
+@Setter
+@NoArgsConstructor
+@AllArgsConstructor
+@Entity(name = "users")
+// Named UserEntity to prevent conflicts with Java User object
+public class UserEntity {
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ private Long id;
+ private String username;
+ private String email;
+ private String password;
+ @ManyToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
+ @JoinTable(
+ name = "user_roles",
+ joinColumns = {@JoinColumn(name = "user_id", referencedColumnName = "id")},
+ inverseJoinColumns = {@JoinColumn(name = "role_id", referencedColumnName = "id")}
+ )
+ private List<Role> roles = new ArrayList<>();
+}