/** * */ package notifications.data.domain; import java.io.Serializable; import javax.persistence.EmbeddedId; import javax.persistence.Entity; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.MapsId; import javax.persistence.Table; import notifications.data.domain.id.SubscriptionId; /** * Subscription Categories for Subscriber * * @author luismr * */ @Entity @Table(name = "subscriptions") public class Subscription implements Serializable { private static final long serialVersionUID = 1L; @EmbeddedId private SubscriptionId id; @MapsId("id_category") @JoinColumn(name = "id_category", referencedColumnName = "id") @ManyToOne private Category category; @MapsId("id_subscriber") @JoinColumn(name = "id_subscriber", referencedColumnName = "id") @ManyToOne private Subscriber subscriber; public Subscription() {} public SubscriptionId getId() { return id; } public void setId(SubscriptionId id) { this.id = id; } public Category getCategory() { return category; } public void setCategory(Category category) { this.category = category; } public Subscriber getSubscriber() { return subscriber; } public void setSubscriber(Subscriber subscriber) { this.subscriber = subscriber; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((category == null) ? 0 : category.hashCode()); result = prime * result + ((id == null) ? 0 : id.hashCode()); result = prime * result + ((subscriber == null) ? 0 : subscriber.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Subscription other = (Subscription) obj; if (category == null) { if (other.category != null) return false; } else if (!category.equals(other.category)) return false; if (id == null) { if (other.id != null) return false; } else if (!id.equals(other.id)) return false; if (subscriber == null) { if (other.subscriber != null) return false; } else if (!subscriber.equals(other.subscriber)) return false; return true; } @Override public String toString() { return "Subscription [id=" + id + ", category=" + category + "]"; } }