package qa.qcri.aidr.manager.repository.impl;
import java.io.Serializable;
import org.apache.log4j.Logger;
import org.hibernate.Criteria;
import org.hibernate.criterion.Criterion;
import org.hibernate.criterion.Restrictions;
import org.springframework.stereotype.Repository;
import qa.qcri.aidr.manager.RoleType;
import qa.qcri.aidr.manager.persistence.entities.Role;
import qa.qcri.aidr.manager.repository.RoleRepository;
@Repository
public class RoleRepositoryImpl extends GenericRepositoryImpl<Role,Serializable> implements RoleRepository {
private Logger logger = Logger.getLogger(RoleRepositoryImpl.class);
@Override
public Role findByRoleType(RoleType roleType) {
Role role = null;
try {
Criteria criteria = getHibernateTemplate().getSessionFactory()
.getCurrentSession().createCriteria(Role.class);
Criterion criterion = Restrictions.eq("roleType", roleType);
criteria.add(criterion);
role = (Role) criteria.uniqueResult();
} catch(Exception e) {
logger.error("Error in fetching data by roleType : " +roleType, e);
}
return role;
}
}