Ignore:
File:
1 edited

Legend:

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

    r2d57cad r2a5d6a3  
    11package com.wediscussmovies.project.model;
     2
     3import lombok.Data;
    24
    35import javax.persistence.*;
    46import java.sql.Date;
    5 import java.util.Collection;
     7import java.util.Comparator;
     8import java.util.List;
    69
     10@Data
    711@Entity
    8 @Table(name = "persons", schema = "project", catalog = "db_202122z_va_prj_wediscussmovies")
     12@Table(name="persons")
    913public class Person {
    10     @GeneratedValue(strategy = GenerationType.IDENTITY)
    1114    @Id
    12     @Column(name = "person_id")
    13     private int personId;
    14     @Basic
    15     @Column(name = "name")
     15    @GeneratedValue
     16    private int person_id;
     17
     18    @Column(name="name", length=100, nullable=false, unique=false)
    1619    private String name;
    17     @Basic
    18     @Column(name = "surname")
     20
     21    @Column(name="surname", length=100, nullable=false, unique=false)
    1922    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")
     23
     24    @Column(name="type", nullable = false)
     25    private PersonType personType;
     26
     27    @Column(name="date_of_birth", nullable=false)
     28    private Date date_of_birth;
     29
     30    @Column(name="image_url", length=300, nullable=false, unique=false)
     31    private String image_url;
     32
     33    @Column(name="description", length=300, nullable=false, unique=false)
    3134    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;
    4035
    41     public int getPersonId() {
    42         return personId;
    43     }
     36    @ManyToMany
     37    private List<Movie> acts_in;
    4438
    45     public void setPersonId(int personId) {
    46         this.personId = personId;
    47     }
    48 
    49     public String getName() {
    50         return name;
    51     }
    52 
    53     public void setName(String name) {
     39    public Person(String name, String surname, PersonType personType, Date date_of_birth, String image_url, String description) {
    5440        this.name = name;
    55     }
    56 
    57     public String getSurname() {
    58         return surname;
    59     }
    60 
    61     public void setSurname(String surname) {
    6241        this.surname = surname;
    63     }
    64 
    65     public String getType() {
    66         return type;
    67     }
    68 
    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) {
     42        this.personType = personType;
     43        this.date_of_birth = date_of_birth;
     44        this.image_url = image_url;
    9445        this.description = description;
    9546    }
    9647
    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;
     48    public Person() {
    11349    }
    11450
    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     }
     51    public static Comparator<Person> personComparatorByNameSurname = Comparator.comparing(Person::getName).thenComparing(Person::getSurname);
     52}
    12653
    127     public Collection<Discussion> getDiscussionsByPersonId() {
    128         return discussionsByPersonId;
    129     }
    13054
    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     }
    158 }
     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.