package org.oregami.entities; import org.hibernate.annotations.NamedQueries; import org.hibernate.annotations.NamedQuery; import org.hibernate.envers.Audited; import org.hibernate.envers.RelationTargetAuditMode; import javax.persistence.*; import java.util.HashSet; import java.util.Set; @Entity @Audited @NamedQueries({ @NamedQuery(name = "Publication.GetAll", query = "from Publication t") }) public class Publication extends BaseEntityUUID { private static final long serialVersionUID = -2098604730061653187L; private String name; @ManyToOne @Audited(targetAuditMode = RelationTargetAuditMode.NOT_AUDITED) private Region region; @ManyToOne @Audited(targetAuditMode = RelationTargetAuditMode.NOT_AUDITED) private Language language; @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER) private final Set<PublicationIssue> publicationIssueList = new HashSet<PublicationIssue>(); public Publication() { } public Publication(String name) { this.setName(name); } public Set<PublicationIssue> getPublicationIssueList() { return publicationIssueList; } public Region getRegion() { return region; } public void setRegion(Region region) { this.region = region; } public Language getLanguage() { return language; } public void setLanguage(Language language) { this.language = language; } public String getName() { return name; } public void setName(String name) { this.name=name; } }