/**
* $Id: QuestionItemDaoImpl.java 3951 2010-11-02 10:13:17Z orangeforjava $
*/
package org.openuap.cms.survey.dao.hibernate;
import java.util.List;
import org.openuap.base.dao.hibernate.BaseDaoHibernate;
import org.openuap.cms.survey.dao.QuestionItemDao;
import org.openuap.cms.survey.model.QuestionItem;
/**
* <p>
* Title: VoteItemDaoImpl
* </p>
*
* <p>
* Description:
* </p>
*
* <p>
* Copyright: Copyright (c) 2006
* </p>
*
* <p>
* Company: http://www.openuap.org
* </p>
*
* @author Weiping Ju
* @version 1.0
*/
public class QuestionItemDaoImpl extends BaseDaoHibernate implements
QuestionItemDao {
public QuestionItemDaoImpl() {
}
public List getQuestionItems(Long questionId) {
String hql = "from QuestionItem as qi where qi.question.questionId=? order by qi.questionItemSort";
return this.executeFind(hql, new Object[] { questionId });
}
public QuestionItem getQuestionItemById(Long itemId) {
String hql = "from QuestionItem where questionItemId=?";
return (QuestionItem) this.findUniqueResult(hql,
new Object[] { itemId });
}
public Long addQuestionItem(QuestionItem questionItem) {
return (Long) this.getHibernateTemplate().save(questionItem);
}
public void saveQuestionItem(QuestionItem questionItem) {
this.getHibernateTemplate().saveOrUpdate(questionItem);
}
public void deleteQuestionItem(QuestionItem questionItem) {
this.getHibernateTemplate().delete(questionItem);
}
public void deleteQuestionItems(Long questionId) {
String hql = "delete from QuestionItem as qi where qi.question.questionId ="
+ questionId;
this.executeUpdate(hql);
}
public void deleteQuestionItemById(Long itemId) {
String hql = "delete from QuestionItem where questionItemId =" + itemId;
this.executeUpdate(hql);
}
public int getItemsCount(Long questionId) {
String hql = "select count(*) from QuestionItem qi where qi.question.questionId=?";
return ((Number) this.getHibernateTemplate().iterate(hql,
new Object[] { questionId }).next()).intValue();
}
public int getQuestionItemsTotalCount(Long questionId) {
String hql = "select sum(qi.questionItemPolledTimes) from QuestionItem qi where qi.question.questionId=?";
Object obj = this.getHibernateTemplate().iterate(hql,
new Object[] { questionId }).next();
if (obj != null && obj instanceof Number) {
return ((Number) obj).intValue();
} else {
return 0;
}
}
public void updateQuestionItems(String questionItemsId) {
String hql = "update QuestionItem set questionItemPolledTimes = questionItemPolledTimes + 1 where questionItemId in("
+ questionItemsId + ")";
this.executeUpdate(hql);
}
public void updateQuestionItems2(String questionItemsId) {
String hql = "update QuestionItem set questionItemPolledTimes = questionItemPolledTimes - 1 where questionItemId in("
+ questionItemsId + ")";
this.executeUpdate(hql);
}
public void executeHql(String hql, Object[] args) {
this.executeUpdate(hql, args);
}
}