============================================================================================
单表字段
============================================================================================
public List<ZxfwSort> getServerName(final long userId) throws DAOException
{
System.out.println(" 查询 志愿者 参与的 活动类型 。。。。。。。。。。。。。。");
List<ZxfwSort> pul = this.getMyHibernateTemplate().executeFind(new HibernateCallback(){
public Object doInHibernate(Session session)throws HibernateException, SQLException {
String sql = "select z.zxfw_id,z.serve_name from User_With_Disposition u,zxfw_sort z where u.disposition_id=z.zxfw_id and u.user_id="+userId;
System.out.println("sql = "+sql);
//可以直接使用hibernate 下面的HQL直接得出 这里是测试hibernate的SQL功能
// from ZxfwSort z where z.zxfwId in (select u.DispositionId from UserWithDisposition u where u.userId=:userId)
Query q = session.createSQLQuery(sql).addEntity(ZxfwSort.class);
return q.list();
}
});
return pul;
}
============================================================================================
多表字段
============================================================================================
public List getServerName(final long userId) throws DAOException
{
System.out.println(" 查询 志愿者 参与的 活动类型 .................... ");
List pul = this.getMyHibernateTemplate().executeFind(new HibernateCallback(){
public Object doInHibernate(Session session)throws HibernateException, SQLException {
String sql = "select u.user_id,z.zxfw_id,z.serve_name from User_With_Disposition u,zxfw_sort z where u.disposition_id=z.zxfw_id and u.user_id="+userId;
System.out.println("sql = "+sql);
//可以直接使用hibernate 下面的HQL直接得出 这里是测试hibernate的SQL功能-单表字段和多表字段
// from ZxfwSort z where z.zxfwId in (select u.DispositionId from UserWithDisposition u where u.userId=:userId)
Query q = session.createSQLQuery(sql).addScalar("user_id")
.addScalar("zxfw_id")
.addScalar("serve_name");
return q.list();
}
});
return pul;
}
----------------------------------------------------------------
list = eventService.getServerName(userId);
for(int i=0;i<list.size();i++)
{
ZxfwSortVO v = new ZxfwSortVO(); //把裸数据封装到自己的POJO里面
Object[] obj = (Object[])list.get(i);
v.setUser_Id(obj[0].toString());
v.setZxfw_id(obj[1].toString());
v.setServe_name(obj[2].toString());
cryList.add(v);
}
// test 多表 SQL-hibernate 查询
for(ZxfwSortVO zf : cryList)
{
System.out.println(zf.getUser_Id()+" - "+zf.getServe_name());
}
=================================================================================================================
分享到:
相关推荐
本篇文章主要探讨如何利用Hibernate实现动态SQL查询,结合XML配置和FREEMARKER模板引擎来生成执行的SQL语句。 一、Hibernate简介 Hibernate作为一款强大的持久层框架,它简化了Java应用程序与数据库之间的交互。...
#### 五、Native SQL实现多表联合查询 有时候,我们可能需要执行一些更复杂的SQL查询,这时可以使用Hibernate的Native SQL查询功能。示例如下: ```java String sql = "SELECT b.name, COUNT(a.fee), MIN(a....
根据提供的文件信息,我们可以深入探讨Hibernate中的连表查询方法及其应用。下面将详细介绍与标题、描述及部分代码相关的几个核心知识点: ### Hibernate 连表查询基础 Hibernate 是一个开源的对象关系映射(ORM)...
hibernate 多表查询 hibernate 多表不同于一般的sql嵌套查询,嵌套查询是不支持的,所以必须要配置好才能实现多表!只要配置好了,还是特别好用的
总结,"Hibernate 多表连接分页查询示范项目"是一个实用的示例,它展示了如何在实际应用中利用 Hibernate Criteria API 实现复杂查询和分页,对于学习和掌握 Hibernate 的高级特性和数据库操作技巧非常有帮助。...
- **特定功能支持**:某些数据库特有的功能只能通过原生SQL实现。 #### 二、如何在Hibernate中使用原生SQL? 给定代码示例中的`ProductBoxLogDaoImpl`类展示了如何在Hibernate中执行原生SQL查询,并将结果转换为...
总的来说,Hibernate的`Criteria`、`Query`以及QBC(Query By Criteria)提供了灵活且强大的查询手段,它们不仅支持基本的单表查询,还能处理复杂的联表、分页、参数绑定和统计需求,是Java开发者进行数据库操作的...
博客作者可能还会探讨如何在复杂的业务逻辑中使用SQLQuery与BaseDaoSupport的组合,例如,执行多表联接查询,或者在查询中使用子查询。他们可能也分享了一些最佳实践,比如避免过度依赖SQLQuery以保持ORM的优势,...
然而,在一些情况下,我们需要直接执行原生 SQL 语句,而不是使用 Hibernate 的查询语言(HQL)。本文将介绍如何使用 Hibernate 执行原生 SQL 语句。 为什么需要执行原生 SQL 语句 在实际开发中,我们可能需要执行...
利用MYSQL数据库提供的样例数据库world建立的查询小例子。已经建立好了数据库对应的...本项目主要是为了练习使用Hibernate查询数据库。如果有什么问题可以发站内信或者邮件asddf14@hotmail.com。我会尽量解答一下~~~
查询数据的方法有两种实现,一种是基于HQL(Hibernate Query Language),另一种是基于原生SQL。 - 基于HQL的通用查询: HQL是Hibernate提供的面向对象的查询语言,可以方便地操作对象和属性。`select`方法接收一个...
本文将深入探讨如何模仿Hibernate生成SQL语句,以及如何利用Java反射技术来实现这一过程。 首先,我们需要理解Hibernate的工作原理。Hibernate的核心在于它的Query API,它提供了Criteria、HQL(Hibernate Query ...
这通常通过配置`hibernate.show_sql`属性来实现。在你的`hibernate.cfg.xml`配置文件中,找到或添加以下行: ```xml <property name="hibernate.show_sql">true ``` 这将让Hibernate在控制台打印出执行的SQL语句,...
特别是在处理多表、多库等复杂场景时,如何实现动态表查询就显得尤为重要。本文将详细介绍几种常见的动态表查询方法,并给出具体的代码示例。 #### 二、核心概念与技术点 1. **命名策略(NamingStrategy)**:...
本篇文章将深入探讨使用Hibernate ORM框架与SQL Server 2000数据库进行分页查询的方法。 首先,Hibernate是Java领域中最流行的ORM(对象关系映射)框架之一,它允许开发者使用面向对象的方式操作数据库,减少了直接...
在Java应用程序开发中,Hibernate提供了对象关系映射功能,简化了数据库操作,将Java类与数据库表关联起来,使得开发者可以避免编写大量的SQL语句。 描述中的链接指向了一个个人博客,虽然具体内容未给出,但我们...
"Hibernate-基础联表模板"是针对Hibernate中联表查询的一个实用工具,旨在帮助开发者快速地进行多表关联查询,而不必记住复杂的SQL语句。 1. **Hibernate简介** Hibernate是一种开源的ORM框架,它允许开发者将Java...
Hibernate 配置参数详解 Hibernate 是一个流行的 ORM(Object-Relational Mapping)框架,广泛应用于 Java 企业应用开发...通过合理配置这些参数,可以提高 Hibernate 框架下的对象效率,从而实现对 J2EE 应用的优化。
在SpringMVC中,Hibernate可以作为数据访问层(Data Access Object, DAO),负责执行SQL查询,管理和操作数据库中的数据。项目中将展示如何配置Hibernate,创建实体类(Entity),映射数据库表,并通过Hibernate的...
总的来说,使用Hibernate进行SQL Server 2005的CRUD操作涉及到配置文件的设定、实体类的创建、映射文件的编写以及DAO接口和实现。这个过程简化了数据库操作,使得开发者可以更加专注于业务逻辑而不是底层的SQL。