package dev.rsems.feedreader.model; import jakarta.persistence.*; import lombok.*; import org.hibernate.proxy.HibernateProxy; import java.util.Objects; @Getter @Setter @ToString @RequiredArgsConstructor @Entity(name = "userfeed") public class UserFeed { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "id", nullable = false) private Long id; @ManyToOne @JoinColumn(name = "user_id") private User user; @ManyToOne @JoinColumn(name = "feed_id") private Feed feed; @Column private Boolean visible; @Column private String filter; @Override public final boolean equals(Object o) { if (this == o) return true; if (o == null) return false; Class oEffectiveClass = o instanceof HibernateProxy ? ((HibernateProxy) o).getHibernateLazyInitializer().getPersistentClass() : o.getClass(); Class thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass(); if (thisEffectiveClass != oEffectiveClass) return false; UserFeed userFeed = (UserFeed) o; return getId() != null && Objects.equals(getId(), userFeed.getId()); } @Override public final int hashCode() { return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode(); } }