- 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.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
-
-
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是Java领域中一款强大的对象关系映射(ORM)框架,它允许开发者使用面向对象的方式来操作数据库,极大地简化了数据库操作。在Java应用中,尤其是Spring框架与Hibernate结合使用时,能够实现更高效的业务...
在本篇文章中,我们将深入探讨Hibernate3的核心概念、主要功能以及如何在实际项目中应用。 一、Hibernate3核心概念 1. 实体(Entity):在Hibernate中,实体代表数据库中的表,是Java类的一个实例。通过在类上使用...
在这个过程中,我们将深入探讨Hibernate的核心概念、工作原理以及如何在实际项目中有效地运用Hibernate AIP。 首先,让我们理解Hibernate的基础知识。Hibernate是一种开源的ORM框架,它通过映射Java类到数据库表,...
3. **实体类与表映射**:Hibernate使用注解或XML文件(hbm.xml)将Java类映射到数据库表,如@Table、@Column等注解,定义了类与表、属性与列的关系。 4. **Session接口**:在Hibernate中,Session是与数据库交互的...
Hibernate的核心在于持久化对象,它允许我们将Java类映射到数据库表,对象的属性对应于表的列。实体类是Java对象,而实体映射文件(.hbm.xml)则定义了这些对象与数据库之间的关系。 2. **配置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.15hibernate 5.2.15
在这个例子中,配置文件可能指定了数据库为MySQL,root用户的密码为123456,并且需要预先创建一个名为`hibernate`的数据库。 3. **数据库设置**:为了运行这个示例,用户需要在本地机器上安装MySQL数据库,并设置...
Hibernate允许开发者通过简单声明的方式,将对象的字段映射到数据库表的列。使用Hibernate API,开发者可以完成CRUD(创建、读取、更新、删除)操作,以及事务的管理。 5. Hibernate的核心概念和组件: - Session:...
再来说说`hibernate-mapping-3.0.dtd`,它是Hibernate映射文件的DTD,主要用于定义如何将Java类映射到数据库表。在Hibernate中,我们通常会为每个数据库表创建一个对应的Java类,并通过`.hbm.xml`映射文件来描述这个...
在实际开发中,将这些jar包添加到项目的类路径中,就可以开始使用Hibernate进行数据库操作了。Hibernate提供了丰富的API和配置选项,比如通过XML或注解定义实体类,配置数据源,使用HQL(Hibernate Query Language)...
通过这些文件,我们可以精确地配置Hibernate以适应不同的项目需求,并且创建出符合规范的对象-关系映射,从而实现高效、灵活的数据库操作。在处理大型项目时,良好的Hibernate配置和映射设计不仅能提升开发效率,还...
11. **`hibernate.generate_statistics`**:控制Hibernate是否收集统计信息。 - 示例: ```properties hibernate.generate_statistics=true ``` 12. **`hibernate.use_identifier_rollback`**:决定在删除操作...
Hibernate是Java开发中用于简化数据库操作的一个开放源代码框架,它允许开发者将数据库操作与业务逻辑解耦,从而提高开发效率和代码质量。 1. Hibernate概述: Hibernate是一种基于Java的持久化框架,它通过映射...
list()方法在首次执行时会将结果存入二级缓存,并记录SQL,如果后续请求相同的SQL且数据未变动,可以直接从缓存中获取,避免重复数据库查询。适合数据变更不频繁的场景,如获取固定板块信息。而iterator()方法适用于...
在Java的持久化框架Hibernate中,集合映射是将数据库中的表关系映射到对象的集合属性上,以便实现对象关系映射(ORM)。本文将深入探讨Hibernate中的四种主要集合映射类型:Set、List、Array和Map,以及它们在实际...
7. **jandex.jar**:Jandex是一个Java元数据索引器,用于快速查找和解析注解,这对Hibernate的注解驱动的实体管理至关重要。 8. **slf4j-api.jar**:简单日志门面(SLF4J)提供了一个抽象层,允许最终用户在部署时...
Hibernate 是一个 ORM(Object-Relational Mapping)框架,用于将 Java 对象映射到数据库表中。它提供了一个简洁的方式来访问和操作数据库。 JDBC 的缺点 * 代码结构比较繁琐 * 面向纯 SQL 语句的编程 * 面向过程...
Hibernate支持HQL和SQL查询,包括分页查询、带条件的查询、选择特定列等。 六、持久化类与配置 1. 持久化类 持久化类是普通的Java对象,遵循一定的规则,如提供公共构造器、属性的set/get方法,以及标识主键属性...