/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package org.inbio.ara.persistence.gathering; import java.io.Serializable; import java.util.Calendar; import java.util.List; import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.OneToMany; import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; import org.inbio.ara.persistence.GenericEntity; import org.inbio.ara.persistence.person.Person; import org.inbio.ara.persistence.specimen.Specimen; /** * * @author esmata */ @Entity @Table(name = "morphological_description") public class MorphologicalDescription extends GenericEntity implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy=GenerationType.AUTO, generator="MorphologicalDescription") @SequenceGenerator(name="MorphologicalDescription", sequenceName="morphological_description_seq") @Basic(optional = false) @Column(name = "morphological_description_id") private Long morphologicalDescriptionId; @Column(name = "contents") private String contents; @Column(name = "description_date") @Temporal(TemporalType.DATE) private Calendar descriptionDate; @OneToMany(mappedBy = "morphologicalDescription") private List<GatheringObservationDetail> gatheringObservationDetailList; @OneToMany(mappedBy = "morphologicalDescriptionId", fetch = FetchType.LAZY) private List<Specimen> specimenList; @JoinColumn(name = "description_person_id", referencedColumnName = "person_id") @ManyToOne(fetch = FetchType.LAZY) private Person descriptionPerson; public MorphologicalDescription() { } public MorphologicalDescription(Long morphologicalDescriptionId) { this.morphologicalDescriptionId = morphologicalDescriptionId; } public MorphologicalDescription(Long morphologicalDescriptionId, String createdBy, Calendar creationDate, String lastModificationBy, Calendar lastModificationDate) { this.morphologicalDescriptionId = morphologicalDescriptionId; this.setCreatedBy(createdBy); this.setCreationDate(creationDate); this.setLastModificationBy(lastModificationBy); this.setLastModificationDate(lastModificationDate); } public Long getMorphologicalDescriptionId() { return morphologicalDescriptionId; } public void setMorphologicalDescriptionId(Long morphologicalDescriptionId) { this.morphologicalDescriptionId = morphologicalDescriptionId; } public String getContents() { return contents; } public void setContents(String contents) { this.contents = contents; } public Calendar getDescriptionDate() { return descriptionDate; } public void setDescriptionDate(Calendar descriptionDate) { this.descriptionDate = descriptionDate; } public Person getDescriptionPerson() { return descriptionPerson; } public void setDescriptionPerson(Person descriptionPersonId) { this.descriptionPerson = descriptionPersonId; } public List<GatheringObservationDetail> getGatheringObservationDetailList() { return gatheringObservationDetailList; } public void setGatheringObservationDetailList(List<GatheringObservationDetail> gatheringObservationDetailList) { this.gatheringObservationDetailList = gatheringObservationDetailList; } public List<Specimen> getSpecimenList() { return specimenList; } public void setSpecimenList(List<Specimen> specimenList) { this.specimenList = specimenList; } @Override public int hashCode() { int hash = 0; hash += (morphologicalDescriptionId != null ? morphologicalDescriptionId.hashCode() : 0); return hash; } @Override public boolean equals(Object object) { // TODO: Warning - this method won't work in the case the id fields are not set if (!(object instanceof MorphologicalDescription)) { return false; } MorphologicalDescription other = (MorphologicalDescription) object; if ((this.morphologicalDescriptionId == null && other.morphologicalDescriptionId != null) || (this.morphologicalDescriptionId != null && !this.morphologicalDescriptionId.equals(other.morphologicalDescriptionId))) { return false; } return true; } @Override public String toString() { return "org.inbio.ara.persistence.gathering.MorphologicalDescription[morphologicalDescriptionId=" + morphologicalDescriptionId + "]"; } }