hibernate查找重复列,并且将此列数量统计出来

本文介绍了一个使用Hibernate查询并统计数据库中重复列的方法。通过HQL查询语句,结合group by子句,实现了对特定字段重复次数的统计。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

hibernate查找重复列,并且将此列数量统计出来

Java代码 复制代码
  1. public List getAllMess(final Party party) {   
  2.         List list_temp = getHibernateTemplate().executeFind(new HibernateCallback() {   
  3.             public Object doInHibernate(Session session)   
  4.                     throws HibernateException, SQLException {   
  5.   
  6.                 Query query = session   
  7.                         .createQuery("select m.messMsg as name,count(m.messMsg) as count from ReceivedMessage m where m.party.id=:party group by m.messMsg");   
  8.                 // Query query = session.createQuery("from ReceivedMessage where party_id=:party");   
  9.                 query.setLong("party", party.getId());   
  10.                    
  11.                 return query.list();   
  12.             }   
  13.   
  14.         });   
  15.            return list_temp;   
  16.     }  
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;
	}

Java代码 复制代码
  1. select m.messMsg as name,count(m.messMsg) as count from ReceivedMessage m where m.party.id=:party group by m.messMsg   
  2.   
  3. //这里用的是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久也不出,最后看了抛出异常的爱的写法,终于写出来了,在这里感谢他的帖子
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值