/**
* 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.particular.dao;
import java.util.List;
import javax.persistence.NoResultException;
import javax.persistence.TypedQuery;
import org.springframework.stereotype.Repository;
import com.ewcms.common.dao.JpaDAO;
import com.ewcms.content.particular.model.ProjectArticle;
import com.ewcms.content.particular.model.ProjectBasic;
@Repository
public class ProjectBasicDAO extends JpaDAO<Long, ProjectBasic> {
public List<ProjectBasic> findProjectBasicByPageAndRows(final Integer page, final Integer rows, final String name){
String hql = "From ProjectBasic As p Where p.release=true And p.organ!=null And p.name Like :name Order By p.published Desc";
TypedQuery<ProjectBasic> query = this.getEntityManager().createQuery(hql, ProjectBasic.class);
query.setParameter("name", "%" + name + "%");
query.setFirstResult(rows * (page - 1));
query.setMaxResults(rows);
return query.getResultList();
}
public Long findProjectBasicTotal(final String name){
String hql = "Select Count(p.id) From ProjectBasic As p Where p.release=true And p.organ!=null And p.name Like :name";
TypedQuery<Long> query = this.getEntityManager().createQuery(hql, Long.class);
query.setParameter("name", "%" + name + "%");
return query.getSingleResult();
}
public ProjectBasic findProjectBasicByCode(final String code){
String hql = "From ProjectBasic As p Where p.code=:code";
TypedQuery<ProjectBasic> query = this.getEntityManager().createQuery(hql, ProjectBasic.class);
query.setParameter("code", code);
ProjectBasic projectBasic = null;
try{
projectBasic = (ProjectBasic) query.getSingleResult();
}catch(NoResultException e){
}
return projectBasic;
}
public List<ProjectArticle> findProjectArticleByBasicId(final String code){
String hql = "Select a From ProjectArticle As a Inner Join a.projectBasic As b Where b.code=:code";
TypedQuery<ProjectArticle> query = this.getEntityManager().createQuery(hql, ProjectArticle.class);
query.setParameter("code", code);
return query.getResultList();
}
}