package edu.sjtu.infosec.ismp.manager.RAM.dao.impl;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.criterion.Expression;
import org.hibernate.criterion.Order;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import edu.sjtu.infosec.ismp.manager.RAM.dao.StatThreKindDao;
import edu.sjtu.infosec.ismp.manager.RAM.model.AsseKnowStatThreKind;
import edu.sjtu.infosec.ismp.manager.comm.model.page.Page;
/**
* 数据层 静态威胁类别Dao实现类.
*/
public class StatThreKindDaoImpl extends HibernateDaoSupport implements StatThreKindDao {
/**
* 查询静态威胁类别
*
* @param id
* 静态威胁类别id
* @return 静态威胁类别对象
**/
public AsseKnowStatThreKind find(Integer id) {
AsseKnowStatThreKind statThreKind = null;
statThreKind = (AsseKnowStatThreKind) getHibernateTemplate().load(AsseKnowStatThreKind.class, id);
return statThreKind;
}
/**
* 查询静态威胁类别数量
* @return 静态威胁类别数量
**/
public int getCount() {
Criteria criteria = getSession().createCriteria(AsseKnowStatThreKind.class);
return 0;//count(criteria);
}
/**
* 返回所有静态威胁类别
* @return 所有静态威胁类别列表
**/
public List<AsseKnowStatThreKind> listAllStatThreKind() {
Criteria criteria = getSession().createCriteria(AsseKnowStatThreKind.class);
return criteria.list();
}
/**
* 查询静态威胁类别分页记录
* @param page
* 分页对象
* @return 分页记录列表
**/
public List<AsseKnowStatThreKind> listStatThreKindPage(Page page) {
List<AsseKnowStatThreKind> statThreKindlist = null;
Criteria criteria = getSession().createCriteria(AsseKnowStatThreKind.class)
.addOrder(Order.asc("id"));
if(page!=null) {
criteria.setFirstResult(page.getBeginIndex())
.setMaxResults(page.getEveryPage());
}
statThreKindlist = criteria.list();
return statThreKindlist;
}
/**
* 删除静态威胁类别对象
*
* @param statThreKind
* 静态威胁类别对象
**/
public void remove(AsseKnowStatThreKind statThreKind) {
getHibernateTemplate().delete(statThreKind);
}
/**
* 保存/更新静态威胁类别对象
*
* @param statThreKind
* 静态脆弱点类别对象
**/
public void saveOrUpdate(AsseKnowStatThreKind statThreKind) {
getHibernateTemplate().saveOrUpdate(statThreKind);
}
public AsseKnowStatThreKind find(String kind) {
AsseKnowStatThreKind statThreKind = null;
Criteria criteria = getSession().createCriteria(AsseKnowStatThreKind.class)
.add(Expression.like("kind", kind));
List list = criteria.list();
if(list!=null && list.size()>0) {
statThreKind = (AsseKnowStatThreKind) list.get(0);
}
return statThreKind;
}
}