/**
* Copyright (c)2010-2011 Enterprise Website Content Management System(EWCMS), All rights reserved.
* EWCMS PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* http://www.ewcms.com
*/
package com.ewcms.plugin.vote.manager.dao;
import javax.persistence.NoResultException;
import javax.persistence.TypedQuery;
import org.springframework.stereotype.Repository;
import com.ewcms.common.dao.JpaDAO;
import com.ewcms.plugin.vote.model.Subject;
/**
* 问卷调查主题DAO
*
* @author 吴智俊
*/
@Repository
public class SubjectDAO extends JpaDAO<Long, Subject> {
public Long findSubjectMaxSort(final Long questionnaireId){
String hql = "Select Max(s.sort) FROM Questionnaire As q Right Join q.subjects As s Where q.id=:questionnaireId";
TypedQuery<Long> query = this.getEntityManager().createQuery(hql, Long.class);
query.setParameter("questionnaireId", questionnaireId);
Long maxSort = 0L;
try{
maxSort = (Long) query.getSingleResult();
}catch(NoResultException e){
}
if (maxSort == null){
maxSort = 0L;
}
return maxSort;
}
public Subject findSubjectBySort(final Long questionnaireId, final Long sort){
String hql = "Select s From Questionnaire As q Right Join q.subjects As s Where q.id=:questionnaireId And s.sort=:sort";
TypedQuery<Subject> query = this.getEntityManager().createQuery(hql, Subject.class);
query.setParameter("questionnaireId", questionnaireId);
query.setParameter("sort", sort);
Subject subject = null;
try{
subject = (Subject) query.getSingleResult();
}catch(NoResultException e){
}
return subject;
}
}