package org.iatoki.judgels.uriel.models.daos.impls;
import org.iatoki.judgels.play.models.daos.impls.AbstractHibernateDao;
import org.iatoki.judgels.uriel.models.daos.ContestConfigurationDao;
import org.iatoki.judgels.uriel.models.entities.ContestConfigurationModel;
import org.iatoki.judgels.uriel.models.entities.ContestConfigurationModel_;
import play.db.jpa.JPA;
import javax.inject.Named;
import javax.inject.Singleton;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;
@Singleton
@Named("contestConfigurationDao")
public final class ContestConfigurationHibernateDao extends AbstractHibernateDao<Long, ContestConfigurationModel> implements ContestConfigurationDao {
public ContestConfigurationHibernateDao() {
super(ContestConfigurationModel.class);
}
@Override
public boolean isExistByContestJid(String contestJid) {
CriteriaBuilder cb = JPA.em().getCriteriaBuilder();
CriteriaQuery<Long> query = cb.createQuery(Long.class);
Root<ContestConfigurationModel> root = query.from(ContestConfigurationModel.class);
query.select(cb.count(root)).where(cb.equal(root.get(ContestConfigurationModel_.contestJid), contestJid));
return (JPA.em().createQuery(query).getSingleResult() != 0);
}
@Override
public ContestConfigurationModel findByContestJid(String contestJid) {
CriteriaBuilder cb = JPA.em().getCriteriaBuilder();
CriteriaQuery<ContestConfigurationModel> query = cb.createQuery(ContestConfigurationModel.class);
Root<ContestConfigurationModel> root = query.from(ContestConfigurationModel.class);
query.where(cb.equal(root.get(ContestConfigurationModel_.contestJid), contestJid));
return JPA.em().createQuery(query).getSingleResult();
}
}