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);
}
这样整个查询就完成了,简单方便。
分享到:
相关推荐
12. **性能优化**:包括批处理、延迟加载、结果集分页、查询优化等策略,有助于减少数据库负载,提高应用响应速度。 通过深入学习和实践这些知识点,初学者能够熟练地运用Hibernate进行数据库开发,提升开发效率,...
然后通过SessionFactory创建Session,使用Session的`save()`方法将`User`对象持久化到数据库,或者使用`createQuery()`或`createCriteria()`执行HQL或Criteria查询来获取数据。 总的来说,Hibernate是Java开发者在...
1.两种加载模式 a:及时加载 使用get时是一及时加载的一种 当使用get时,他会直接发送SQL,去和数据库交互 当没有找到这条记录的时候,他会返回一个null值 ... 即:调用delete,clear,evict等方法时
在IT行业中,集成不同的技术框架是常见的开发实践。在这个"operamasks整合spring、hebernate小例子...需要注意的是,随着技术的发展,新的版本可能包含更多的优化和改进,因此在实际项目中,建议使用最新的稳定版本。
其中,注解是一种较为现代且灵活的配置方法,它可以让我们直接在Java类上定义元数据,而无需编写额外的XML配置文件。 #### 二、准备工作 要使用Hibernate注解进行对象关系映射,首先需要完成以下准备工作: 1. **...
例如,使用`save()`或`saveOrUpdate()`方法创建新记录,`get()`或`load()`方法获取特定ID的记录,`update()`更新现有记录,`delete()`删除记录。除此之外,Hibernate还提供了Criteria、HQL(Hibernate Query ...
- Criteria 查询:除了传统的 HQL(Hibernate Query Language),Hibernate 还提供了 Criteria API,用于构建动态查询。 - 第二级缓存:Hibernate 支持二级缓存,可以提高读取性能,减轻数据库压力。 - 批量操作...
SpringMVC+Spring3.2.8+Hibernate4.3.5带简单的分页实例,集成时使用hibernate-core-4.3.5.Final.jar时会报错, (网上说该Jar包中某个类的包路径改了,Spring找不到,所以换成了Hibernate4.2 的Core包了)这是BUG么...
在查询时,Hibernate支持HQL(Hibernate Query Language)和Criteria API,提供了更为灵活和强大的查询能力。 总的来说,Hibernate通过提供ORM解决方案,极大地简化了Java应用程序与数据库之间的交互。它不仅封装了...
在这个项目中,Hibernate被用于数据持久化,实现了将业务对象与数据库表之间的映射,使得数据的CRUD操作可以通过调用对象的方法完成,提高了开发效率。 “gird”通常指的是数据网格,是一种常见的用户界面元素,...
8. **Cascading和Association**:讲解实体间关联的管理,如一对一、一对多、多对多的关系,以及级联操作。 9. **缓存机制**:讨论Hibernate的二级缓存和查询缓存,以提高性能。 10. **性能优化**:分享如何通过...
4. 控制器(Controllers):Struts的Action类,负责接收和响应HTTP请求,调用服务层方法并传递结果到视图层。 5. 视图(Views):展示数据的页面,可以是JSP、FreeMarker或其他模板引擎,由Struts渲染并返回给客户端...
在这个编辑器中,开发者可以编写查询语句,实时检查语法错误,并且可以预览查询结果。此外,它还支持代码补全和智能提示,大大提高了开发效率。 ### 五、DDL生成与更新 插件可以生成基于Hibernate映射文件的DDL...
而HQL,是Hibernate特有的面向对象的查询语言,它允许开发者用类和属性而非表和字段来编写查询,提高了代码的可读性和可维护性。 在实际开发中,Hibernate提供了多种映射方式,如XML配置文件、注解配置以及基于Java...
Hibernate通过XML或注解定义实体类和数据库表的关系,提供了CRUD(Create、Read、Update、Delete)操作,以及查询语言HQL和 Criteria API,使得数据库操作更加便捷和灵活。 在MyEclipse7.0这个集成开发环境中配置这...
getAttribute() 用于获取存储在HttpServletRequest对象中的属性值,这些属性可以在请求处理过程中被多次使用,跨多个方法传递。而getParameter() 则用于获取HTTP请求参数,这些参数通常是用户通过表单提交的数据,...
- **分页查询**:为了提高用户体验,可能会实现分页查询方法,允许用户按页浏览结果。 在Hibernate API部分,我们了解到几个核心接口的作用: - **Configuration**:用于配置Hibernate,包括读取和加载Hibernate的...
这是因为`load`方法假设给定的ID肯定在数据库中存在,它采用延迟加载策略,先返回代理对象,当尝试访问对象属性时才会真正去数据库查询。如果此时数据库中无记录,则抛出异常。 - 相反,`get`方法在找不到对应记录...
接着,通过setFirstResult和setMaxResults方法设置分页参数,执行查询获取当前页数据。同时,通过另一个不带限制条件的查询获取总记录数。 在返回到客户端的视图层,我们可能使用JSP或者FreeMarker模板来渲染数据,...
9. **Criteria与Query的使用**:详细讲解如何使用Criteria API创建查询,以及如何使用Session的createQuery方法构建HQL查询。 10. **一对多、多对一、一对一关系映射**:这些是对象关系映射的关键部分,文档会详细...