package net.techreadiness.persistence.dao;
import java.util.List;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Join;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;
import net.techreadiness.persistence.domain.OptionListDO;
import net.techreadiness.persistence.domain.OptionListDO_;
import net.techreadiness.persistence.domain.OptionListValueDO;
import net.techreadiness.persistence.domain.OptionListValueDO_;
import org.springframework.stereotype.Repository;
@Repository
public class OptionListValueDAOImpl extends BaseDAOImpl<OptionListValueDO> implements OptionListValueDAO {
@Override
public List<OptionListValueDO> getOptionListValuesByOptionListId(Long optionListId) {
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<OptionListValueDO> cq = cb.createQuery(OptionListValueDO.class);
Root<OptionListValueDO> root = cq.from(OptionListValueDO.class);
Join<OptionListValueDO, OptionListDO> j = root.join(OptionListValueDO_.optionList);
Predicate p = cb.equal(j.get(OptionListDO_.optionListId), optionListId);
cq.where(p);
return getResultList(em.createQuery(cq));
}
}