`

Hebernate多表查询,结果集组装方法

阅读更多

1.编写连表sql,注意hql与sql的区别即可

 

 String hql = "select pi.id,pi.nam,pm.mId,pm.mversion from PM pm, PI pi where pm.id=pi.id and pm.mId =:mId";

 

2.打开查询

 

 

QueryParams q = new QueryParams();
q.addParam("mId", mId);
List result = query(hql, q);
Iterator it = result.iterator();
 public List query(final String hql, final QueryParams queryParam) {
		return (List) getHibernateTemplate().execute(new HibernateCallback() {
			public Object doInHibernate(Session session) {
				Query resultQuery = session.createQuery(hql);
				resultQuery.setCacheable(cacheable);
				resultQuery = QueryParams.setParams(resultQuery, queryParam);

				List reval = resultQuery.list();
				return reval;
			}
		});
	}

 3.装配查询结果

 

List<DemoBean> beans = new ArrayList<DemoBean>();
while (it.hasNext()) {
	DemoBean bean = new DemoBean();
	Object[] tuple = (Object[]) it.next();
	bean.setId((Integer)tuple[0]);
	bean.setName((String)tuple[1]);
	bean.setMId((Integer)tuple[2]);
	bean.setMversion((String)tuple[3]);
	beans.add(bean);
}
 

这样整个查询就完成了,简单方便。

 

分享到:
评论

相关推荐

    hebernate 学习笔记

    12. **性能优化**:包括批处理、延迟加载、结果集分页、查询优化等策略,有助于减少数据库负载,提高应用响应速度。 通过深入学习和实践这些知识点,初学者能够熟练地运用Hibernate进行数据库开发,提升开发效率,...

    hebernate应用于数据库

    然后通过SessionFactory创建Session,使用Session的`save()`方法将`User`对象持久化到数据库,或者使用`createQuery()`或`createCriteria()`执行HQL或Criteria查询来获取数据。 总的来说,Hibernate是Java开发者在...

    java语言hebernate代码

    1.两种加载模式 a:及时加载 使用get时是一及时加载的一种 当使用get时,他会直接发送SQL,去和数据库交互 当没有找到这条记录的时候,他会返回一个null值 ... 即:调用delete,clear,evict等方法时

    operamasks整合spring、hebernate小例子

    在IT行业中,集成不同的技术框架是常见的开发实践。在这个"operamasks整合spring、hebernate小例子...需要注意的是,随着技术的发展,新的版本可能包含更多的优化和改进,因此在实际项目中,建议使用最新的稳定版本。

    hebernate注解

    其中,注解是一种较为现代且灵活的配置方法,它可以让我们直接在Java类上定义元数据,而无需编写额外的XML配置文件。 #### 二、准备工作 要使用Hibernate注解进行对象关系映射,首先需要完成以下准备工作: 1. **...

    hebernate与mysql构建框架

    例如,使用`save()`或`saveOrUpdate()`方法创建新记录,`get()`或`load()`方法获取特定ID的记录,`update()`更新现有记录,`delete()`删除记录。除此之外,Hibernate还提供了Criteria、HQL(Hibernate Query ...

    spring+hebernate的例子

    - Criteria 查询:除了传统的 HQL(Hibernate Query Language),Hibernate 还提供了 Criteria API,用于构建动态查询。 - 第二级缓存:Hibernate 支持二级缓存,可以提高读取性能,减轻数据库压力。 - 批量操作...

    SpringMVC+Spring3.2.8+Hibernate4.3.5+分页实例

    SpringMVC+Spring3.2.8+Hibernate4.3.5带简单的分页实例,集成时使用hibernate-core-4.3.5.Final.jar时会报错, (网上说该Jar包中某个类的包路径改了,Spring找不到,所以换成了Hibernate4.2 的Core包了)这是BUG么...

    hebernate 学习笔记 46页word

    在查询时,Hibernate支持HQL(Hibernate Query Language)和Criteria API,提供了更为灵活和强大的查询能力。 总的来说,Hibernate通过提供ORM解决方案,极大地简化了Java应用程序与数据库之间的交互。它不仅封装了...

    operamasks2.1整合spring、hebernate实现grid增删改查

    在这个项目中,Hibernate被用于数据持久化,实现了将业务对象与数据库表之间的映射,使得数据的CRUD操作可以通过调用对象的方法完成,提高了开发效率。 “gird”通常指的是数据网格,是一种常见的用户界面元素,...

    Hibernate书籍

    8. **Cascading和Association**:讲解实体间关联的管理,如一对一、一对多、多对多的关系,以及级联操作。 9. **缓存机制**:讨论Hibernate的二级缓存和查询缓存,以提高性能。 10. **性能优化**:分享如何通过...

    java struts+spring+hebernate 实现eshop 电子购物

    4. 控制器(Controllers):Struts的Action类,负责接收和响应HTTP请求,调用服务层方法并传递结果到视图层。 5. 视图(Views):展示数据的页面,可以是JSP、FreeMarker或其他模板引擎,由Struts渲染并返回给客户端...

    hibernate tools

    在这个编辑器中,开发者可以编写查询语句,实时检查语法错误,并且可以预览查询结果。此外,它还支持代码补全和智能提示,大大提高了开发效率。 ### 五、DDL生成与更新 插件可以生成基于Hibernate映射文件的DDL...

    妙解Hibernate

    而HQL,是Hibernate特有的面向对象的查询语言,它允许开发者用类和属性而非表和字段来编写查询,提高了代码的可读性和可维护性。 在实际开发中,Hibernate提供了多种映射方式,如XML配置文件、注解配置以及基于Java...

    struts2+spring2.0+hebernate3.2 myeclipse7.0配置手册

    Hibernate通过XML或注解定义实体类和数据库表的关系,提供了CRUD(Create、Read、Update、Delete)操作,以及查询语言HQL和 Criteria API,使得数据库操作更加便捷和灵活。 在MyEclipse7.0这个集成开发环境中配置这...

    SSH原理,strusts,hebernate,Spring等相关知识

    getAttribute() 用于获取存储在HttpServletRequest对象中的属性值,这些属性可以在请求处理过程中被多次使用,跨多个方法传递。而getParameter() 则用于获取HTTP请求参数,这些参数通常是用户通过表单提交的数据,...

    HebernatePPT

    - **分页查询**:为了提高用户体验,可能会实现分页查询方法,允许用户按页浏览结果。 在Hibernate API部分,我们了解到几个核心接口的作用: - **Configuration**:用于配置Hibernate,包括读取和加载Hibernate的...

    struts+hibernate做的分页显示

    接着,通过setFirstResult和setMaxResults方法设置分页参数,执行查询获取当前页数据。同时,通过另一个不带限制条件的查询获取总记录数。 在返回到客户端的视图层,我们可能使用JSP或者FreeMarker模板来渲染数据,...

    Hibernate中文参考文档V3.2(HTML)

    9. **Criteria与Query的使用**:详细讲解如何使用Criteria API创建查询,以及如何使用Session的createQuery方法构建HQL查询。 10. **一对多、多对一、一对一关系映射**:这些是对象关系映射的关键部分,文档会详细...

    Hibernate分页可能引起的性能问题

    Hibernate分页可能引起的性能问题 在使用Hibernate进行分页的过程中,如果你收到如下警告,那么这里就是一个潜在的性能问题点: WARNING: firstResult/maxResults specified with collection fetch;...

Global site tag (gtag.js) - Google Analytics