/**
*
*/
package net.agef.jobexchange.integration;
import java.util.Collection;
import java.util.List;
import net.agef.jobexchange.domain.OccupationalField;
import org.chenillekit.hibernate.daos.AbstractHibernateDAO;
import org.chenillekit.hibernate.utils.QueryParameter;
import org.hibernate.Session;
import org.slf4j.Logger;
/**
* @author AGEF
*
*/
public class OccupationalFieldDAOHibernate extends AbstractHibernateDAO<OccupationalField, Long> implements OccupationalFieldDAO{
public OccupationalFieldDAOHibernate(Logger logger, Session session) {
super(logger, session);
}
@Override
public OccupationalField findOccupationalFieldById(Long fieldId) {
List<OccupationalField> fieldList = this.findByQuery("From OccupationalField o WHERE o.fieldId = :fieldId ", new QueryParameter("fieldId", fieldId));
if(!fieldList.isEmpty()){
return fieldList.get(0);
}
return null;
}
@Override
public OccupationalField findOccupationalFieldByName(String fieldName) {
List<OccupationalField> fieldList = this.findByQuery("From OccupationalField o WHERE o.fieldNameGerman = :fieldName or o.fieldNameEnglish = :fieldName", new QueryParameter("fieldName", fieldName));
if(!fieldList.isEmpty()){
return fieldList.get(0);
}
return null;
}
@Override
public Collection<OccupationalField> findOccupationalSubFieldsByMainFieldId(Long fieldId) {
List<OccupationalField> fieldList = this.findByQuery("From OccupationalField o WHERE o.parentFieldId = :fieldId ", new QueryParameter("fieldId", fieldId));
return fieldList;
}
@Override
public Collection<OccupationalField> findOccupationalMainFields() {
List<OccupationalField> fieldList = this.findByQuery("From OccupationalField o WHERE o.parentFieldId = 0");
return fieldList;
}
}