/** * 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.content.document.web; import java.text.SimpleDateFormat; import com.ewcms.common.query.Resultable; import com.ewcms.common.query.jpa.HqlQueryable; import com.ewcms.common.query.jpa.QueryFactory; import com.ewcms.web.QueryBaseAction; /** * * @author wuzhijun * */ public class OperateTrackQueryAction extends QueryBaseAction { private static final long serialVersionUID = 2141489086820205940L; private SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); private Long articleMainId; public Long getArticleMainId() { return articleMainId; } public void setArticleMainId(Long articleMainId) { this.articleMainId = articleMainId; } @Override protected Resultable queryResult(QueryFactory queryFactory, String cacheKey, int rows, int page, Order order) { String hql = "Select t From OperateTrack As t Where t.articleMainId=:articleMainId Order By t.id Desc "; String countHql = "Select count(t.id) From OperateTrack As t Where t.articleMainId=:articleMainId "; hql += " Limit " + rows + " OffSet " + (rows * (page + 1)); HqlQueryable query = queryFactory.createHqlQuery(hql, countHql); query.setParameter("articleMainId", getArticleMainId()); setDateFormat(DATE_FORMAT); return query.setRow(rows).setPage(page).queryResult(); } @Override protected Resultable querySelectionsResult(QueryFactory queryFactory, int rows, int page, String[] selections, Order order) { String hql = "Select t From OperateTrack As t Where t.articleMainId=:articleMainId Order By t.id Desc "; String countHql = "Select count(t.id) From OperateTrack As t Where t.articleMainId=:articleMainId "; HqlQueryable query = queryFactory.createHqlQuery(hql, countHql); query.setParameter("articleMainId", getArticleMainId()); setDateFormat(DATE_FORMAT); return query.setRow(rows).setPage(page).queryResult(); } }