package com.tencent.dao.impl;
import java.util.List;
import org.apache.log4j.Logger;
import org.hibernate.Query;
import com.tencent.dao.IMessageDAO;
import com.tencent.model.Message;
import com.tencent.model.User;
public class MessageDAOImpl extends DAOImpl<Message> implements IMessageDAO {
public static Logger log = Logger.getLogger(MessageDAOImpl.class);
@SuppressWarnings("unchecked")
@Override
public List<Message> listOutDate(User user, boolean isOutdate) {
List<Message> list = this.getHibernateTemplate().find("from Message m where m.sender.id=? and m.outdate=?", user.getId(), isOutdate);
return list;
}
@SuppressWarnings("unchecked")
@Override
public Message findByTopic(String topic) {
List<Message> list = this.getHibernateTemplate().find("from Message m where m.topic=?", topic);
if(list.isEmpty()){
return null;
}
return list.get(0);
}
@SuppressWarnings("unchecked")
@Override
public List<Message> listOutDate(User user, boolean isOutdate, int firstResult, int maxSize) {
Query query = this.getSession().createQuery("from Message m where m.sender.id=? and m.outdate=?");
query.setInteger(0, user.getId()).setBoolean(1, isOutdate);
query.setFirstResult(firstResult).setMaxResults(maxSize);
List<Message> list = query.list();
return list;
}
}