-
sql转换为hql问题10
select a.proid as p$proid,
a.proname as p$proname,
a.verid as v$verid,
a.vername as v$vername,
a.subid as s$subid,
a.subname as s$subname,
i.sub_init_id as i$subinitid,
i.init_data as i$initdata,
i.init_menu as i$initmenu,
i.init_struct as i$initstruct
from (select p.pro_id as proid,
p.pro_name as proname,
v.ver_id as verid,
v.ver_name as vername,
s.sub_id as subid,
s.sub_name as subname
from dsm_project p, dsm_version v, dsm_sub_system s
where p.pro_id = v.pro_id
and p.pro_id = s.pro_id
and s.is_enable = 1) a
left join dsm_subsystem_init i on a.verid = i.ver_id
and a.subid = i.sub_id
hql的格式为:select new map(...) from ...
表转换为对象,你只用把首字母大写就行,例如:dsm_subsystem_init→Dsm_subsystem_init
简单说明:上面sql实现的是,有A,B,C,D四张表
A表有字段
a1, a2, a3
1, aa, aa
B表有字段
b1, b2(关联a1), b3
1, 1, 1bb
2, 1, 2bb
C表有字段
c1, c2(关联a1), c3
1, 1, 1cc
2, 1, 2cc
D表有字段
d1, d2(关联b1), d3(关联c1) d4
1, ..., ... 备注信息
A.a1, B.b3, C.c3, D.d4
1 1bb 1cc ....
1 1bb 2cc
1 2bb 1cc
1 2bb 2cc
D表中不管有没有相应记录都要显示,没有记录显示空,有记录将记录放在对应位置。
期待你的帮助2012年2月28日 15:42
目前还没有答案
相关推荐
之前写好SQL,再到代码里面来写,语句复杂的看的时不时细节会忘记,用sql转换hql工具,直接贴近了就可以了;
在描述中提到的博文链接指向了一个ITEYE上的博客文章,虽然具体内容没有提供,但通常这类文章会介绍如何设置和使用某个工具或方法来达到监控HQL转换为SQL的目的。通常,这可能包括安装日志框架(如Log4j),配置日志...
HQL在某些情况下可能需要Hibernate或其他ORM框架进行转换为SQL,这个转换过程可能会引入额外的开销。然而,现代的ORM框架通常都提供了良好的性能优化机制,能够智能地生成高效的SQL语句。 ### 结论 HQL与SQL各有...
- 需要注意类型转换和数据一致性问题,确保数据的正确性。 - 直接使用原生SQL时,可能需要手动管理事务,以保证数据的一致性和完整性。 #### 五、总结 通过HQL进行批量插入、更新和删除操作是一种高效且简便的...
HQL(Hive Query Language)是专为Hadoop生态系统中的Hive设计的一种SQL-like语言,用于处理大规模数据仓库。SparkSQL是Apache Spark的一部分,允许用户通过SQL或者DataFrame API来操作数据。这些技术之间的相互作用...
1. **类型安全**:HQL在编译时就能检查语法错误,避免了运行时的SQL注入问题。 2. **移植性**:由于是面向对象的,HQL与具体的数据库方言解耦,使得应用更容易跨数据库迁移。 3. **自动类型转换**:HQL自动处理Java...
本篇文章将深入探讨Hibernate中的三种主要查询方式:HQL(Hibernate Query Language)、Criteria API以及原生SQL。 一、HQL(Hibernate Query Language) HQL是Hibernate提供的一种面向对象的查询语言,它类似于SQL...
例如,查询所有User对象的HQL语句为:“FROM User”。 二、HQL基本结构 1. SELECT子句:HQL支持多种选择项,包括属性、方法、计算表达式等,如“SELECT u.name FROM User u”。 2. FROM子句:指定查询的实体类,如...
2. **创建SQL查询**:在映射文件(.hbm.xml)中,我们可以为实体类定义一个或多个`<sql-query>`标签来存放自定义SQL。例如: ```xml <sql-query name="getUsersByAge"> SELECT * FROM users WHERE age = {param...
此外,HQL的查询结果默认被转换为对应的Java对象,而SQL查询结果通常是以记录集的形式返回。 #### 结论 通过上述介绍,我们可以看到Hibernate和HQL的强大之处在于它们能够提供一种简单且直观的方式来处理数据库...
接着,使用`session.createQuery(hql)`创建一个`Query`对象,这将HQL查询语句转换为可执行的对象。 3. **结果处理**:`query.uniqueResult()`方法用于执行HQL查询并返回单个结果。这里假设查询结果是一个数值,因此...
HQL,全称为Hibernate Query Language,是Hibernate框架提供的一种面向对象的查询语言。它基于SQL标准,但更加强调对象模型,支持Java中的对象关系映射(ORM),能够处理继承、多态等特性,使开发者能够在保持面向...
给定代码示例中的`ProductBoxLogDaoImpl`类展示了如何在Hibernate中执行原生SQL查询,并将结果转换为Java对象列表。 ##### 1. 创建SQLQuery对象 ```java SQLQuery query1 = session.createSQLQuery(sql); ``` 这里...
2. **效率**:在大量数据处理时,HQL可能需要更多的资源,因为它需要将查询转换为数据库特定的SQL。但在大多数常规应用中,性能差异并不显著。 3. **可读性**:HQL的面向对象特性使得代码更易于理解和维护,尤其是...
注意,这里返回的是`ArrayList`类型,但在实际应用中,可能需要转换为具体的数据类型。 #### 基于SQL的通用查询方法 除了HQL,Hibernate还支持原生SQL查询。下面的代码示例演示了如何使用原生SQL执行查询: ```java...
- **别名的正确使用**:在Hql中,当使用`count()`函数时,可以为表或字段定义别名,但在调用`count()`时,应直接使用列名或别名,而不是整个对象,如`count(*)`或`count(columnAlias)`,而不是`count(objectAlias.*...
查询结果通常为`Object[]`数组,可以通过自定义封装将其转换为更具体的对象。 总之,Hibernate HQL提供了丰富的查询功能,使得开发者能够以面向对象的方式处理数据库操作,大大提高了开发效率。通过熟练掌握HQL,...
随后,这段代码使用`for`循环遍历`temp`列表,将每个对象数组转换为`HashMap`,便于后续的数据处理和展示。 ### 总结 HQL多表查询是Hibernate框架下高效、灵活地处理数据库多表关联数据的关键技术。通过理解其语法...
查询结果可以被转换为List集合,其中每个元素都是查询所指定的类的对象。也可以使用Criteria API或者Query接口的getResultList或getSingleResult方法获取结果。 8. **分页查询** Hibernate提供FirstResult和...
这里创建的SQLQuery对象允许我们执行任意的SQL语句,而不是局限于Hibernate的HQL查询语言。 二、设置查询参数 设置查询参数可以通过setParameter方法完成,它接受两个参数:一个是参数的索引(从0开始),另一个是...