View Javadoc
1   package org.petify.shelter.model;
2   
3   import jakarta.persistence.Column;
4   import jakarta.persistence.Entity;
5   import jakarta.persistence.GeneratedValue;
6   import jakarta.persistence.GenerationType;
7   import jakarta.persistence.Id;
8   import jakarta.persistence.JoinColumn;
9   import jakarta.persistence.ManyToOne;
10  import jakarta.persistence.Table;
11  import lombok.AllArgsConstructor;
12  import lombok.Getter;
13  import lombok.NoArgsConstructor;
14  import lombok.Setter;
15  import org.apache.commons.lang3.builder.EqualsBuilder;
16  import org.apache.commons.lang3.builder.HashCodeBuilder;
17  import org.apache.commons.lang3.builder.ToStringBuilder;
18  
19  @Entity
20  @Table(name = "pet_images")
21  @Getter
22  @Setter
23  @NoArgsConstructor
24  @AllArgsConstructor
25  public class PetImage {
26      @Id
27      @GeneratedValue(strategy = GenerationType.IDENTITY)
28      private Long id;
29  
30      @Column(name = "image_name")
31      private String imageName;
32  
33      @ManyToOne
34      @JoinColumn(name = "pet_id", nullable = false)
35      private Pet pet;
36  
37      @Override
38      public boolean equals(Object o) {
39          if (this == o) {
40              return true;
41          }
42  
43          if (!(o instanceof PetImage petImage)) {
44              return false;
45          }
46  
47          return new EqualsBuilder().append(getId(), petImage.getId()).append(getImageName(),
48                  petImage.getImageName()).append(getPet(), petImage.getPet()).isEquals();
49      }
50  
51      @Override
52      public int hashCode() {
53          return new HashCodeBuilder(17, 37).append(getId())
54                  .append(getImageName()).append(getPet()).toHashCode();
55      }
56  
57      @Override
58      public String toString() {
59          return new ToStringBuilder(this)
60                  .append("id", id)
61                  .append("imageUrl", imageName)
62                  .append("pet", pet)
63                  .toString();
64      }
65  }