`
yiliner
  • 浏览: 214445 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

阅读更多

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久也不出,最后看了抛出异常的爱的写法,终于写出来了,在这里感谢他的帖子
分享到:
评论

相关推荐

    hibernate 数据库操作方法

    Hibernate是Java领域中一款强大的对象关系映射(ORM)框架,它允许开发者使用面向对象的方式来操作数据库,极大地简化了数据库操作。在Java应用中,尤其是Spring框架与Hibernate结合使用时,能够实现更高效的业务...

    hibernate3 hibernate3

    在本篇文章中,我们将深入探讨Hibernate3的核心概念、主要功能以及如何在实际项目中应用。 一、Hibernate3核心概念 1. 实体(Entity):在Hibernate中,实体代表数据库中的表,是Java类的一个实例。通过在类上使用...

    hibernate aip hibernate aip

    在这个过程中,我们将深入探讨Hibernate的核心概念、工作原理以及如何在实际项目中有效地运用Hibernate AIP。 首先,让我们理解Hibernate的基础知识。Hibernate是一种开源的ORM框架,它通过映射Java类到数据库表,...

    hibernate的jar包

    3. **实体类与表映射**:Hibernate使用注解或XML文件(hbm.xml)将Java类映射到数据库表,如@Table、@Column等注解,定义了类与表、属性与列的关系。 4. **Session接口**:在Hibernate中,Session是与数据库交互的...

    hibernate实践

    Hibernate的核心在于持久化对象,它允许我们将Java类映射到数据库表,对象的属性对应于表的列。实体类是Java对象,而实体映射文件(.hbm.xml)则定义了这些对象与数据库之间的关系。 2. **配置Hibernate** 配置...

    hibernate-extensions和Middlegen-Hibernate

    《hibernate-extensions与Middlegen-Hibernate:数据库到Java对象的自动化转换》 在Java的持久化层开发中,Hibernate作为一款强大的ORM(对象关系映射)框架,极大地简化了数据库操作。然而,手动编写实体类和映射...

    hibernate 5.2.15

    hibernate 5.2.15 hibernate 5.2.15 hibernate 5.2.15 hibernate 5.2.15 hibernate 5.2.15hibernate 5.2.15

    HibernateDemo

    在这个例子中,配置文件可能指定了数据库为MySQL,root用户的密码为123456,并且需要预先创建一个名为`hibernate`的数据库。 3. **数据库设置**:为了运行这个示例,用户需要在本地机器上安装MySQL数据库,并设置...

    Hibernate逍遥游记 .pdf

    Hibernate允许开发者通过简单声明的方式,将对象的字段映射到数据库表的列。使用Hibernate API,开发者可以完成CRUD(创建、读取、更新、删除)操作,以及事务的管理。 5. Hibernate的核心概念和组件: - Session:...

    hibernate的dtd 包含hibernate.properties

    再来说说`hibernate-mapping-3.0.dtd`,它是Hibernate映射文件的DTD,主要用于定义如何将Java类映射到数据库表。在Hibernate中,我们通常会为每个数据库表创建一个对应的Java类,并通过`.hbm.xml`映射文件来描述这个...

    Hibernate入门jar包

    在实际开发中,将这些jar包添加到项目的类路径中,就可以开始使用Hibernate进行数据库操作了。Hibernate提供了丰富的API和配置选项,比如通过XML或注解定义实体类,配置数据源,使用HQL(Hibernate Query Language)...

    hibernate-configuration-3.0.dtd、hibernate-mapping-3.0.dtd

    通过这些文件,我们可以精确地配置Hibernate以适应不同的项目需求,并且创建出符合规范的对象-关系映射,从而实现高效、灵活的数据库操作。在处理大型项目时,良好的Hibernate配置和映射设计不仅能提升开发效率,还...

    hibernate配置参数大全

    11. **`hibernate.generate_statistics`**:控制Hibernate是否收集统计信息。 - 示例: ```properties hibernate.generate_statistics=true ``` 12. **`hibernate.use_identifier_rollback`**:决定在删除操作...

    hibernate课件

    Hibernate是Java开发中用于简化数据库操作的一个开放源代码框架,它允许开发者将数据库操作与业务逻辑解耦,从而提高开发效率和代码质量。 1. Hibernate概述: Hibernate是一种基于Java的持久化框架,它通过映射...

    hibernate难点重点笔记

    list()方法在首次执行时会将结果存入二级缓存,并记录SQL,如果后续请求相同的SQL且数据未变动,可以直接从缓存中获取,避免重复数据库查询。适合数据变更不频繁的场景,如获取固定板块信息。而iterator()方法适用于...

    hibernate集合的映射

    在Java的持久化框架Hibernate中,集合映射是将数据库中的表关系映射到对象的集合属性上,以便实现对象关系映射(ORM)。本文将深入探讨Hibernate中的四种主要集合映射类型:Set、List、Array和Map,以及它们在实际...

    hibernate需要的10个jar

    7. **jandex.jar**:Jandex是一个Java元数据索引器,用于快速查找和解析注解,这对Hibernate的注解驱动的实体管理至关重要。 8. **slf4j-api.jar**:简单日志门面(SLF4J)提供了一个抽象层,允许最终用户在部署时...

    Hibernate学习笔记整理

    Hibernate 是一个 ORM(Object-Relational Mapping)框架,用于将 Java 对象映射到数据库表中。它提供了一个简洁的方式来访问和操作数据库。 JDBC 的缺点 * 代码结构比较繁琐 * 面向纯 SQL 语句的编程 * 面向过程...

    hibernate权威整理文档!

    Hibernate支持HQL和SQL查询,包括分页查询、带条件的查询、选择特定列等。 六、持久化类与配置 1. 持久化类 持久化类是普通的Java对象,遵循一定的规则,如提供公共构造器、属性的set/get方法,以及标识主键属性...

Global site tag (gtag.js) - Google Analytics