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 }