Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/main/java/com/wediscussmovies/project/model/Person.java

    r2a5d6a3 r2d57cad  
    11package com.wediscussmovies.project.model;
    2 
    3 import lombok.Data;
    42
    53import javax.persistence.*;
    64import java.sql.Date;
    7 import java.util.Comparator;
    8 import java.util.List;
     5import java.util.Collection;
    96
    10 @Data
    117@Entity
    12 @Table(name="persons")
     8@Table(name = "persons", schema = "project", catalog = "db_202122z_va_prj_wediscussmovies")
    139public class Person {
     10    @GeneratedValue(strategy = GenerationType.IDENTITY)
    1411    @Id
    15     @GeneratedValue
    16     private int person_id;
     12    @Column(name = "person_id")
     13    private int personId;
     14    @Basic
     15    @Column(name = "name")
     16    private String name;
     17    @Basic
     18    @Column(name = "surname")
     19    private String surname;
     20    @Basic
     21    @Column(name = "type")
     22    private String type;
     23    @Basic
     24    @Column(name = "date_of_birth")
     25    private Date dateOfBirth;
     26    @Basic
     27    @Column(name = "image_url")
     28    private String imageUrl;
     29    @Basic
     30    @Column(name = "description")
     31    private String description;
     32    @OneToMany(mappedBy = "personsByPersonId")
     33    private Collection<Discussion> discussionsByPersonId;
     34    @OneToMany(mappedBy = "personsByActorId")
     35    private Collection<MovieActorsEntity> movieActorsByPersonId;
     36    @OneToMany(mappedBy = "personsByDirectorId")
     37    private Collection<Movie> moviesByPersonId;
     38    @OneToMany(mappedBy = "personsByPersonId")
     39    private Collection<PersonRatesEntity> personRatesByPersonId;
    1740
    18     @Column(name="name", length=100, nullable=false, unique=false)
    19     private String name;
     41    public int getPersonId() {
     42        return personId;
     43    }
    2044
    21     @Column(name="surname", length=100, nullable=false, unique=false)
    22     private String surname;
     45    public void setPersonId(int personId) {
     46        this.personId = personId;
     47    }
    2348
    24     @Column(name="type", nullable = false)
    25     private PersonType personType;
     49    public String getName() {
     50        return name;
     51    }
    2652
    27     @Column(name="date_of_birth", nullable=false)
    28     private Date date_of_birth;
     53    public void setName(String name) {
     54        this.name = name;
     55    }
    2956
    30     @Column(name="image_url", length=300, nullable=false, unique=false)
    31     private String image_url;
     57    public String getSurname() {
     58        return surname;
     59    }
    3260
    33     @Column(name="description", length=300, nullable=false, unique=false)
    34     private String description;
     61    public void setSurname(String surname) {
     62        this.surname = surname;
     63    }
    3564
    36     @ManyToMany
    37     private List<Movie> acts_in;
     65    public String getType() {
     66        return type;
     67    }
    3868
    39     public Person(String name, String surname, PersonType personType, Date date_of_birth, String image_url, String description) {
    40         this.name = name;
    41         this.surname = surname;
    42         this.personType = personType;
    43         this.date_of_birth = date_of_birth;
    44         this.image_url = image_url;
     69    public void setType(String type) {
     70        this.type = type;
     71    }
     72
     73    public Date getDateOfBirth() {
     74        return dateOfBirth;
     75    }
     76
     77    public void setDateOfBirth(Date dateOfBirth) {
     78        this.dateOfBirth = dateOfBirth;
     79    }
     80
     81    public String getImageUrl() {
     82        return imageUrl;
     83    }
     84
     85    public void setImageUrl(String imageUrl) {
     86        this.imageUrl = imageUrl;
     87    }
     88
     89    public String getDescription() {
     90        return description;
     91    }
     92
     93    public void setDescription(String description) {
    4594        this.description = description;
    4695    }
    4796
    48     public Person() {
     97    @Override
     98    public boolean equals(Object o) {
     99        if (this == o) return true;
     100        if (o == null || getClass() != o.getClass()) return false;
     101
     102        Person that = (Person) o;
     103
     104        if (personId != that.personId) return false;
     105        if (name != null ? !name.equals(that.name) : that.name != null) return false;
     106        if (surname != null ? !surname.equals(that.surname) : that.surname != null) return false;
     107        if (type != null ? !type.equals(that.type) : that.type != null) return false;
     108        if (dateOfBirth != null ? !dateOfBirth.equals(that.dateOfBirth) : that.dateOfBirth != null) return false;
     109        if (imageUrl != null ? !imageUrl.equals(that.imageUrl) : that.imageUrl != null) return false;
     110        if (description != null ? !description.equals(that.description) : that.description != null) return false;
     111
     112        return true;
    49113    }
    50114
    51     public static Comparator<Person> personComparatorByNameSurname = Comparator.comparing(Person::getName).thenComparing(Person::getSurname);
     115    @Override
     116    public int hashCode() {
     117        int result = personId;
     118        result = 31 * result + (name != null ? name.hashCode() : 0);
     119        result = 31 * result + (surname != null ? surname.hashCode() : 0);
     120        result = 31 * result + (type != null ? type.hashCode() : 0);
     121        result = 31 * result + (dateOfBirth != null ? dateOfBirth.hashCode() : 0);
     122        result = 31 * result + (imageUrl != null ? imageUrl.hashCode() : 0);
     123        result = 31 * result + (description != null ? description.hashCode() : 0);
     124        return result;
     125    }
     126
     127    public Collection<Discussion> getDiscussionsByPersonId() {
     128        return discussionsByPersonId;
     129    }
     130
     131    public void setDiscussionsByPersonId(Collection<Discussion> discussionsByPersonId) {
     132        this.discussionsByPersonId = discussionsByPersonId;
     133    }
     134
     135    public Collection<MovieActorsEntity> getMovieActorsByPersonId() {
     136        return movieActorsByPersonId;
     137    }
     138
     139    public void setMovieActorsByPersonId(Collection<MovieActorsEntity> movieActorsByPersonId) {
     140        this.movieActorsByPersonId = movieActorsByPersonId;
     141    }
     142
     143    public Collection<Movie> getMoviesByPersonId() {
     144        return moviesByPersonId;
     145    }
     146
     147    public void setMoviesByPersonId(Collection<Movie> moviesByPersonId) {
     148        this.moviesByPersonId = moviesByPersonId;
     149    }
     150
     151    public Collection<PersonRatesEntity> getPersonRatesByPersonId() {
     152        return personRatesByPersonId;
     153    }
     154
     155    public void setPersonRatesByPersonId(Collection<PersonRatesEntity> personRatesByPersonId) {
     156        this.personRatesByPersonId = personRatesByPersonId;
     157    }
    52158}
    53 
    54 
    55 /*
    56         create table persons(
    57         person_id serial primary key,
    58         name varchar(100) not null,
    59         surname varchar(100) not null,
    60         type char(1) not null,
    61         date_of_birth date not null,
    62         image_url varchar(300) not null,
    63         description varchar(300) not null,
    64         constraint ck_type check (type ='A' or type='D')
    65     );
    66  */
Note: See TracChangeset for help on using the changeset viewer.