Index: src/main/java/com/wediscussmovies/project/model/User.java
===================================================================
--- src/main/java/com/wediscussmovies/project/model/User.java	(revision 2a5d6a3d7e82fe6a72290f16b30ecfbbd8df2c98)
+++ src/main/java/com/wediscussmovies/project/model/User.java	(revision 2d57cad1a18953bc47becb4f96114a908ecbf03d)
@@ -1,62 +1,164 @@
 package com.wediscussmovies.project.model;
 
-import lombok.Data;
+import javax.persistence.*;
+import java.util.Collection;
 
-import javax.persistence.*;
-import java.util.List;
+@Entity
+@Table(name = "users", schema = "project", catalog = "db_202122z_va_prj_wediscussmovies")
+public class User {
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Id
+    @Column(name = "user_id")
+    private int userId;
+    @Basic
+    @Column(name = "username")
+    private String username;
+    @Basic
+    @Column(name = "name")
+    private String name;
+    @Basic
+    @Column(name = "surname")
+    private String surname;
+    @Basic
+    @Column(name = "email")
+    private String email;
+    @Basic
+    @Column(name = "password")
+    private String password;
+    @OneToMany(mappedBy = "usersByUserId")
+    private Collection<Discussion> discussionsByUserId;
+    @OneToMany(mappedBy = "usersByUserId")
+    private Collection<MovieLikesEntity> movieLikesByUserId;
+    @OneToMany(mappedBy = "usersByUserId")
+    private Collection<MovieRatesEntity> movieRatesByUserId;
+    @OneToMany(mappedBy = "usersByUserId")
+    private Collection<PersonRatesEntity> personRatesByUserId;
+    @OneToMany(mappedBy = "usersByUserId")
+    private Collection<Reply> repliesByUserId;
+    @OneToMany(mappedBy = "usersByUserId")
+    private Collection<UserGenresEntity> userGenresByUserId;
 
-@Data
-@Entity
-@Table(name="users")
-public class User {
-    @Id
-    @GeneratedValue
-    @Column(name="user_id", nullable = false)
-    private int user_id;
+    public int getUserId() {
+        return userId;
+    }
 
-    @Column(name="username", length=50, nullable=false, unique=false)
-    private String username;
+    public void setUserId(int userId) {
+        this.userId = userId;
+    }
 
-    @Column(name="name", length=50, nullable=false, unique=false)
-    private String name;
+    public String getUsername() {
+        return username;
+    }
 
-    @Column(name="surname", length=50, nullable=false, unique=false)
-    private String surname;
+    public void setUsername(String username) {
+        this.username = username;
+    }
 
-    @Column(name="email", length=50, nullable=false, unique=false)
-    private String email;
+    public String getName() {
+        return name;
+    }
 
-    @Column(name="password", length=100, nullable=false, unique=true)
-    private String password;
+    public void setName(String name) {
+        this.name = name;
+    }
 
-    //TODO("RATES_MOVIE")
-    @ManyToMany(mappedBy = "movie_likes")
-    private List<Movie> likes_movie;
+    public String getSurname() {
+        return surname;
+    }
 
-    @ManyToMany(mappedBy = "user_genres")
-    private List<Genre> likes_genres;
+    public void setSurname(String surname) {
+        this.surname = surname;
+    }
 
-    public User(String username, String name, String surname, String email, String password) {
-        this.username = username;
-        this.name = name;
-        this.surname = surname;
+    public String getEmail() {
+        return email;
+    }
+
+    public void setEmail(String email) {
         this.email = email;
+    }
+
+    public String getPassword() {
+        return password;
+    }
+
+    public void setPassword(String password) {
         this.password = password;
     }
 
-    public User() {
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+
+        User that = (User) o;
+
+        if (userId != that.userId) return false;
+        if (username != null ? !username.equals(that.username) : that.username != null) return false;
+        if (name != null ? !name.equals(that.name) : that.name != null) return false;
+        if (surname != null ? !surname.equals(that.surname) : that.surname != null) return false;
+        if (email != null ? !email.equals(that.email) : that.email != null) return false;
+        if (password != null ? !password.equals(that.password) : that.password != null) return false;
+
+        return true;
+    }
+
+    @Override
+    public int hashCode() {
+        int result = userId;
+        result = 31 * result + (username != null ? username.hashCode() : 0);
+        result = 31 * result + (name != null ? name.hashCode() : 0);
+        result = 31 * result + (surname != null ? surname.hashCode() : 0);
+        result = 31 * result + (email != null ? email.hashCode() : 0);
+        result = 31 * result + (password != null ? password.hashCode() : 0);
+        return result;
+    }
+
+    public Collection<Discussion> getDiscussionsByUserId() {
+        return discussionsByUserId;
+    }
+
+    public void setDiscussionsByUserId(Collection<Discussion> discussionsByUserId) {
+        this.discussionsByUserId = discussionsByUserId;
+    }
+
+    public Collection<MovieLikesEntity> getMovieLikesByUserId() {
+        return movieLikesByUserId;
+    }
+
+    public void setMovieLikesByUserId(Collection<MovieLikesEntity> movieLikesByUserId) {
+        this.movieLikesByUserId = movieLikesByUserId;
+    }
+
+    public Collection<MovieRatesEntity> getMovieRatesByUserId() {
+        return movieRatesByUserId;
+    }
+
+    public void setMovieRatesByUserId(Collection<MovieRatesEntity> movieRatesByUserId) {
+        this.movieRatesByUserId = movieRatesByUserId;
+    }
+
+    public Collection<PersonRatesEntity> getPersonRatesByUserId() {
+        return personRatesByUserId;
+    }
+
+    public void setPersonRatesByUserId(Collection<PersonRatesEntity> personRatesByUserId) {
+        this.personRatesByUserId = personRatesByUserId;
+    }
+
+    public Collection<Reply> getRepliesByUserId() {
+        return repliesByUserId;
+    }
+
+    public void setRepliesByUserId(Collection<Reply> repliesByUserId) {
+        this.repliesByUserId = repliesByUserId;
+    }
+
+    public Collection<UserGenresEntity> getUserGenresByUserId() {
+        return userGenresByUserId;
+    }
+
+    public void setUserGenresByUserId(Collection<UserGenresEntity> userGenresByUserId) {
+        this.userGenresByUserId = userGenresByUserId;
     }
 }
-
-
-/*
-    create table users(
-      user_id serial primary key,
-      username varchar(50) not null unique,
-      name varchar(50) not null,
-      surname varchar(50) not null,
-      email varchar(100) not null unique,
-      password varchar(30) not null,
-      constraint ck_password check(length(password) >= 9)
-    );
- */
