package org.atomhopper.adapter.jpa;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
@Entity
@Table(name = "Categories")
public class PersistedCategory implements Serializable {
@Id
@Column(name = "Term")
private String term;
@ManyToMany(mappedBy = "categories", fetch = FetchType.LAZY)
private Set<PersistedEntry> feedEntries;
public PersistedCategory() {
feedEntries = Collections.EMPTY_SET;
}
public PersistedCategory(String term) {
feedEntries = new HashSet<PersistedEntry>();
this.term = term;
}
public Set<PersistedEntry> getFeedEntries() {
return feedEntries;
}
public void setFeedEntries(Set<PersistedEntry> feedEntries) {
this.feedEntries = feedEntries;
}
public String getTerm() {
return term;
}
public void setTerm(String term) {
this.term = term;
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final PersistedCategory other = (PersistedCategory) obj;
return !((this.term == null) ? (other.term != null) : !this.term.equals(other.term));
}
@Override
public int hashCode() {
int hash = 3;
hash = 53 * hash + (this.term != null ? this.term.hashCode() : 0);
return hash;
}
}