package net.agef.jobexchange.domain;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
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 LanguageSkill extends AbstractEntity{
/**
*
*/
private static final long serialVersionUID = 2860218680728190719L;
private JobImpl relatedJob;
private Applicant relatedApplicant;
@IndexedEmbedded
private Languages name;
@Field(index=Index.UN_TOKENIZED, store=Store.NO)
private LanguageSkillsEnum level;
/**
* @return the relatedJob
*/
@ManyToOne
@JoinColumn(insertable=false, updatable=false, name="jobOfferLanguageSkillsOther_fk")
public JobImpl getRelatedJob() {
return relatedJob;
}
/**
* @param relatedJob the relatedJob to set
*/
public void setRelatedJob(JobImpl relatedJob) {
this.relatedJob = relatedJob;
}
/**
* @return the relatedApplicant
*/
@ManyToOne
@JoinColumn(insertable=true, updatable=true, name="applicantLanguageSkillsOther_fk")
public Applicant getRelatedApplicant() {
return relatedApplicant;
}
/**
* @param relatedApplicant the relatedApplicant to set
*/
public void setRelatedApplicant(Applicant relatedApplicant) {
this.relatedApplicant = relatedApplicant;
}
/**
* @return the name
*/
@ManyToOne(cascade={CascadeType.PERSIST, CascadeType.MERGE})
@JoinColumn(nullable=true)
public Languages getName() {
return name;
}
/**
* @param name the name to set
*/
public void setName(Languages name) {
this.name = name;
}
/**
* @return the level
*/
@Enumerated(EnumType.STRING)
public LanguageSkillsEnum getLevel() {
return level;
}
/**
* @param level the level to set
*/
public void setLevel(LanguageSkillsEnum level) {
this.level = level;
}
public int compareTo(LanguageSkill o) {
System.out.println("Compare LanguageSkill Objekte");
return String.valueOf(this.getId()).compareTo(String.valueOf(o.getId()));
}
}