/** * */ package edu.sjtu.infosec.ismp.manager.OSS.pm.dao.impl; import java.util.HashMap; import java.util.List; import java.util.Map; import org.hibernate.Query; import org.hibernate.Session; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import edu.sjtu.infosec.ismp.manager.OSS.pm.dao.ComplaintDao; import edu.sjtu.infosec.ismp.manager.OSS.pm.model.Complaint; /** * @author liuqing * */ public class ComplaintDaoImpl extends HibernateDaoSupport implements ComplaintDao { /* (non-Javadoc) * @see edu.sjtu.infosec.ismp.manager.OSS.pm.dao.ComplaintDao#del(edu.sjtu.infosec.ismp.manager.OSS.pm.model.Complaint) */ public void del(Complaint complaint) { getHibernateTemplate().delete(complaint); } /* (non-Javadoc) * @see edu.sjtu.infosec.ismp.manager.OSS.pm.dao.ComplaintDao#save(edu.sjtu.infosec.ismp.manager.OSS.pm.model.Complaint) */ public void save(Complaint complaint) { getHibernateTemplate().saveOrUpdate(complaint); } /* (non-Javadoc) * @see edu.sjtu.infosec.ismp.manager.OSS.pm.dao.ComplaintDao#searchAll() */ @SuppressWarnings("unchecked") public List<Complaint> searchAll() { return getHibernateTemplate().find("from Complaint"); } /* (non-Javadoc) * @see edu.sjtu.infosec.ismp.manager.OSS.pm.dao.ComplaintDao#searchById(java.lang.Integer) */ public Complaint searchById(Integer id) { Session session = getSession(); Complaint complaint = (Complaint) session.get(Complaint.class, id); releaseSession(session); return complaint; } /* (non-Javadoc) * @see edu.sjtu.infosec.ismp.manager.OSS.pm.dao.ComplaintDao#update(edu.sjtu.infosec.ismp.manager.OSS.pm.model.Complaint) */ public void update(Complaint complaint) { getHibernateTemplate().update(complaint); } @SuppressWarnings("unchecked") public List<Complaint> searchByDomian(Integer domianId) { Session session = getSession(); Query query = session.createQuery("from Complaint c where c.domain=?"); query.setInteger(0, domianId); List list = query.list(); releaseSession(session); return list; } @SuppressWarnings("unchecked") public Map<String,String> searchDomainById() { Session session = getSession(); Query query = session.createSQLQuery("SELECT OS.DOMAIN_ID , OS.COMPLAINT_PHONE FROM OSS_PM_DOMAIN_COMPLAINT OS"); List<Object[]> list = query.list(); Map<String,String> map = new HashMap<String, String>(); for (int i = 0; i < list.size(); i++) { map.put(list.get(i)[0].toString(), list.get(i)[1].toString()); } releaseSession(session); return map; } }