package net.agef.jobexchange.domain; import java.util.Date; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.EnumType; import javax.persistence.Enumerated; import javax.persistence.JoinColumn; import javax.persistence.Lob; import javax.persistence.ManyToOne; import org.apache.tapestry5.beaneditor.DataType; import org.hibernate.search.annotations.Boost; import org.hibernate.search.annotations.Field; import org.hibernate.search.annotations.Index; import org.hibernate.search.annotations.Indexed; import org.hibernate.search.annotations.IndexedEmbedded; import org.hibernate.search.annotations.Store; @Entity @Indexed public class WorkExperience extends AbstractEntity{ /** * */ private static final long serialVersionUID = -7854761362407782807L; private Applicant relatedApplicant; private Date started; private Date finished; @Boost(2.5f) @Field(index=Index.TOKENIZED, store=Store.NO) private String jobTitle; @Field(index=Index.TOKENIZED, store=Store.NO) private String jobDescription; @IndexedEmbedded private IndustrySector sector; @IndexedEmbedded private OccupationalField occupationalField; // @IndexedEmbedded // private OccupationalField occupationalSubField; /* Bewerberprofil Sommer 2010 */ private DecisionYesNoEnum untilToday; private String company; private String homepage; private DecisionYesNoEnum managementExperience; /* Ende Bewerberprofil Sommer 2010 */ /** * @return the relatedApplicant */ @ManyToOne @JoinColumn(updatable=false, insertable=false, name="applicantWorkExp_fk") public Applicant getRelatedApplicant() { return relatedApplicant; } /** * @param relatedApplicant the relatedApplicant to set */ public void setRelatedApplicant(Applicant relatedApplicant) { this.relatedApplicant = relatedApplicant; } /** * @return the started */ public Date getStarted() { return started; } /** * @param started the started to set */ public void setStarted(Date started) { this.started = started; } /** * @return the finished */ public Date getFinished() { return finished; } /** * @param finished the finished to set */ public void setFinished(Date finished) { this.finished = finished; } /** * @return the jobTitle */ public String getJobTitle() { return jobTitle; } /** * @param jobTitle the jobTitle to set */ public void setJobTitle(String jobTitle) { this.jobTitle = jobTitle; } /** * @return the sector */ @ManyToOne(cascade={CascadeType.PERSIST, CascadeType.MERGE}) @JoinColumn(nullable=true) public IndustrySector getSector() { return sector; } /** * @param sector the sector to set */ public void setSector(IndustrySector sector) { this.sector = sector; } /** * @return the jobDescription */ @Lob public String getJobDescription() { return jobDescription; } /** * @param jobDescription the jobDescription to set */ @DataType(value="longtext") public void setJobDescription(String jobDescription) { this.jobDescription = jobDescription; } /** * @return the occupationalField */ @ManyToOne(cascade={CascadeType.PERSIST, CascadeType.MERGE}) @JoinColumn(nullable=true) public OccupationalField getOccupationalField() { return occupationalField; } /** * @param occupationalField the occupationalField to set */ public void setOccupationalField(OccupationalField occupationalField) { this.occupationalField = occupationalField; } public int compareTo(WorkExperience o) { System.out.println("Compare WorkExperience Objekte"); return String.valueOf(this.getId()).compareTo(String.valueOf(o.getId())); } public void setUntilToday(DecisionYesNoEnum untilToday) { this.untilToday = untilToday; } @Enumerated(EnumType.STRING) public DecisionYesNoEnum getUntilToday() { return untilToday; } public void setCompany(String company) { this.company = company; } public String getCompany() { return company; } public void setHomepage(String homepage) { this.homepage = homepage; } public String getHomepage() { return homepage; } public void setManagementExperience(DecisionYesNoEnum managementExperience) { this.managementExperience = managementExperience; } @Enumerated(EnumType.STRING) public DecisionYesNoEnum getManagementExperience() { return managementExperience; } }