hibernate查找重复列,并且将此列数量统计出来
- public List getAllMess(final Party party) {
- List list_temp = getHibernateTemplate().executeFind(new HibernateCallback() {
- public Object doInHibernate(Session session)
- throws HibernateException, SQLException {
- Query query = session
- .createQuery("select m.messMsg as name,count(m.messMsg) as count from ReceivedMessage m where m.party.id=:party group by m.messMsg");
- // Query query = session.createQuery("from ReceivedMessage where party_id=:party");
- query.setLong("party", party.getId());
- return query.list();
- }
- });
- return list_temp;
- }
public List getAllMess(final Party party) {
List list_temp = getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query query = session
.createQuery("select m.messMsg as name,count(m.messMsg) as count from ReceivedMessage m where m.party.id=:party group by m.messMsg");
// Query query = session.createQuery("from ReceivedMessage where party_id=:party");
query.setLong("party", party.getId());
return query.list();
}
});
return list_temp;
}
- select m.messMsg as name,count(m.messMsg) as count from ReceivedMessage m where m.party.id=:party group by m.messMsg
- //这里用的是group by
select m.messMsg as name,count(m.messMsg) as count from ReceivedMessage m where m.party.id=:party group by m.messMsg
//这里用的是group by
ReceivedMessage 里面的messMsg有N多相同的,这样地得到的就是重复出现的数量和列值
my god,一上午的劳动成果啊,开始觉得用distinct,结果查了N久也不出,最后看了抛出异常的爱的写法,终于写出来了,在这里感谢他的帖子