package org.gmod.schema.mapped; import static javax.persistence.GenerationType.SEQUENCE; import org.hibernate.annotations.AccessType; import java.io.Serializable; import java.util.Collection; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.OneToMany; import javax.persistence.SequenceGenerator; import javax.persistence.Table; @Entity @Table(name = "synonym") @AccessType("field") public class Synonym implements Serializable { // Fields @SequenceGenerator(name = "generator", sequenceName = "synonym_synonym_id_seq", allocationSize = 1) @Id @GeneratedValue(strategy = SEQUENCE, generator = "generator") @Column(name = "synonym_id", unique = false, nullable = false, insertable = true, updatable = true) private int synonymId; @ManyToOne(cascade = {}, fetch = FetchType.LAZY) @JoinColumn(name = "type_id", unique = false, nullable = false, insertable = true, updatable = true) private CvTerm type; @Column(name = "name", unique = false, nullable = false, insertable = true, updatable = true) private String name; @Column(name = "synonym_sgml", unique = false, nullable = false, insertable = true, updatable = true) private String synonymSGML; @OneToMany(cascade = {}, fetch = FetchType.LAZY, mappedBy = "synonym") private Collection<FeatureSynonym> featureSynonyms; // Constructors /** default constructor */ public Synonym() { // Deliberately empty default constructor } /** minimal constructor */ public Synonym(CvTerm cvTerm, String name, String synonymSGML) { this.type = cvTerm; this.name = name; this.synonymSGML = synonymSGML; } // Property accessors public int getSynonymId() { return this.synonymId; } public CvTerm getType() { return this.type; } public void setType(CvTerm type) { this.type = type; } public String getName() { return this.name; } public void setName(String name) { this.name = name; } public String getSynonymSGML() { return this.synonymSGML; } public void setSynonymSGML(String synonymSgml) { this.synonymSGML = synonymSgml; } public Collection<FeatureSynonym> getFeatureSynonyms() { return this.featureSynonyms; } @SuppressWarnings("unused") // Called by Hibernate only private void setFeatureSynonyms(Collection<FeatureSynonym> featureSynonyms) { this.featureSynonyms = featureSynonyms; } }