package org.dayatang.persistence.test.domain;
import org.dayatang.domain.AbstractEntity;
import javax.persistence.*;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@Entity
@Table(name = "categories")
@NamedQueries(
@NamedQuery(name = "DictionaryCategory.getCount",
query = "select count (*) from DictionaryCategory o where o.name =:name"))
public class DictionaryCategory extends AbstractEntity {
private static final long serialVersionUID = -2820088186350505379L;
public static final String GENDER = "gender";
public static final String NATIONALITY = "nationality";
public static final String EDUCATION = "education";
public static final String DEGREE = "degree";
public static final String MARITAL_STATUS = "maritalStatus";
public static final String HEALTH_STATUS = "healthStatus";
public static final String POLITICAL_AFFILIATION = "politicalAffiliation";
public static final String EMPLOYMENT_STATUS = "employmentStatus";
public static final String JOB_SERIES = "jobSeries";
public static final String JOB_GRADE = "jobGrade";
public static final String JOB_CLASS = "jobClass";
private String name;
@Column(name = "sort_order")
private int sortOrder;
@OneToMany(mappedBy = "category")
private Set<Dictionary> dictionaries = new HashSet<Dictionary>();
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getSortOrder() {
return sortOrder;
}
public void setSortOrder(int sortOrder) {
this.sortOrder = sortOrder;
}
public Set<Dictionary> getDictionaries() {
return dictionaries;
}
public void setDictionaries(Set<Dictionary> dictionaries) {
this.dictionaries = dictionaries;
}
public static DictionaryCategory getByName(String name) {
List<DictionaryCategory> results = getRepository().findByProperty(DictionaryCategory.class, "name", name);
return results.isEmpty() ? null : results.get(0);
}
@Override
public String[] businessKeys() {
return new String[] {"name"};
}
@Override
public String toString() {
return name;
}
}