- 浏览: 499839 次
- 性别:
- 来自: 沈阳
文章分类
- 全部博客 (437)
- Windows设置 (2)
- oracle数据库 (39)
- bug--jsp (4)
- j2se (13)
- js (40)
- bug-tomcat不能启动程序 (1)
- Hibernate (29)
- eclipse (20)
- java (65)
- 设计模式 (6)
- bug (18)
- PL/SQL (11)
- 前台 (5)
- 杂谈 (25)
- UML (1)
- jdbc编程 (2)
- 技术调研 (1)
- 数据通信 (2)
- ios (1)
- servlet自学笔记 (10)
- tomcat (9)
- SQL学习笔记 (6)
- java工具 (1)
- 数据库设计 (4)
- javascript (10)
- jsp (11)
- struts (17)
- ajax (7)
- linix/Unix (6)
- 资源 (3)
- spring (14)
- 算法 (5)
- 计算机网络 (2)
- http (5)
- c++ (2)
- web应用 (3)
- jvm (5)
- java中的字符编码 (14)
- java代码库 (2)
- classloader (1)
- 读书笔记 (1)
- c (1)
- 开源软件 (1)
- svn (1)
- AOP (1)
- java序列化 (1)
- 多线程 (4)
- The legendary programmers (1)
- Apache http Server (1)
- html tag (3)
- struts1.X学习笔记 (5)
- buffalo (1)
- 自己收藏 (0)
- TOEFL(IBT) (1)
- 网络翻墙 (0)
- 编译原理 (1)
- 书籍推荐 (1)
- css (10)
- javaee环境搭建资料 (1)
- 开源工具 (1)
- 美国生活 (1)
- spring自学 (3)
- log4j (3)
- 算法与数据结构 (5)
- 病毒,插件处理大全 (1)
- flex (2)
- webservice (1)
- git (7)
- cs (1)
- html (4)
- javaee (6)
- 开车 (0)
- springmvc (3)
- 互联网架构 (2)
- intellij idea (18)
- maven (15)
- mongodb (2)
- nginx (1)
- react (3)
- java基础例子 (2)
- springboot (2)
- 培训 (5)
- mysql (3)
- 数据库 (3)
- 生活 (2)
- intellij (3)
- linux (2)
- os (3)
最新评论
-
潇洒天涯:
[color=blue][color=cyan] ...
oracle 通过 nvl( )函数sql 查询时为 空值 赋默认值 -
hekai1990:
受教了..
oracle中的varchar2
javax.servlet.ServletException: unexpected token: ( near line 1, column 1 [( select emp from com.neusoft.talentbase.common.business.organization.model.assignedjob.AssignedJobPO a,com.neusoft.talentbase.common.business.staffing.common.po.EmployeePO emp where a.oid=emp.jobID and a.leaderLevel in ('0','1') and a.unitPO.oid=1738419 and a.status='1' and emp.status='1' and emp.employeeStatus in ('2','5','11','7') ) union ( select e from com.neusoft.talentbase.common.business.organization.model.assignedjob.AssignedJobPO a,com.neusoft.talentbase.common.business.staffing.common.po.EmployeePO e,com.neusoft.talentbase.staffing.model.parttime.ParttimePO p where a.oid=p.jobID and e.oid=p.employee and a.leaderLevel in ('0','1') and a.unitPO.oid= 1738419 and a.status='1' and e.status='1' and p.status='1' and e.employeeStatus in ('2','5','11','7') )] org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:516) org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:423) org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226) com.neusoft.talentbase.framework.core.strutsextension.TbRequestProcessor.process(TbRequestProcessor.java:80) org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164) org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397) javax.servlet.http.HttpServlet.service(HttpServlet.java:689) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) com.neusoft.report.sample.security.LoginUserFilter.doFilter(LoginUserFilter.java:49) com.neusoft.talentbase.framework.core.usercontext.UserContextFilter.doFilter(UserContextFilter.java:82) com.neusoft.talentbase.framework.core.filter.CharsetEncodingFilter.doFilter(CharsetEncodingFilter.java:55)
HQL语句:
( select emp from AssignedJobPO a,EmployeePO emp where a.oid=emp.jobID and a.leaderLevel in ('0','1') and a.unitPO.oid=1738419 and a.status='1' and emp.status='1' and emp.employeeStatus in ('2','5','11','7') )
union
( select e from AssignedJobPO a,EmployeePO e,ParttimePO p where a.oid=p.jobID and e.oid=p.employee and a.leaderLevel in ('0','1') and a.unitPO.oid= 1738419 and a.status='1' and e.status='1' and p.status='1' and e.employeeStatus in ('2','5','11','7') )
原来HQL不支持UNION操作,因此会报错。
推荐 1,用视图,2,用两个简单的查询。
下面是stackoverflow上面的一个人的留言:
You could use e.g. instead of non-working you could do At least using MySQL, you will run into performance problems with the later though. It's sometimes easier to do a poor man's join on two queries instead: It's often better to do two simple queries than one complex one. EDIT: to give an example, here is the EXPLAIN output of the resulting MySQL query from the subselect solution: Most importantly, 1. row doesn't use any index and considers 200k+ rows. Bad! Execution of this query took 0.7s wheres both subqueries are in the milliseconds.id in (select id from ...) or id in (select id from ...)
from Person p where p.name="Joe"
union
from Person p join p.children c where c.name="Joe"
from Person p
where p.id in (select p1.id from Person p1 where p1.name="Joe")
or p.id in (select p2.id from Person p2 join p2.children c where c.name="Joe");
// use set for uniqueness
Set<Person> people = new HashSet<Person>((List<Person>) query1.list());
people.addAll((List<Person>) query2.list());
return new ArrayList<Person>(people);
mysql> explain
select p.* from PERSON p
where p.id in (select p1.id from PERSON p1 where p1.name = "Joe")
or p.id in (select p2.id from PERSON p2
join CHILDREN c on p2.id = c.parent where c.name="Joe") \G
*************************** 1. row ***************************
id: 1
select_type: PRIMARY
table: a
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: 247554
Extra: Using where
*************************** 2. row ***************************
id: 3
select_type: DEPENDENT SUBQUERY
table: NULL
type: NULL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: NULL
Extra: Impossible WHERE noticed after reading const tables
*************************** 3. row ***************************
id: 2
select_type: DEPENDENT SUBQUERY
table: a1
type: unique_subquery
possible_keys: PRIMARY,name,sortname
key: PRIMARY
key_len: 4
ref: func
rows: 1
Extra: Using where
3 rows in set (0.00 sec)
发表评论
-
Hibernate:Envers 审计
2018-09-17 23:57 516https://blog.csdn.net/Silen ... -
maven 编译出错 Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.
2017-05-23 21:58 895出现这种错误,通常是由于您已启动了另一个tomcat 进程或 ... -
Unable to find a single main class from the following candidates
2017-05-20 15:12 992[ERROR] Failed to execute goal ... -
【转】intellij idea中的项目怎么显示树形目录
2017-03-13 08:35 2302idea出现这种问题 点击 file → projec ... -
【转】Spring3.3 整合 Hibernate3、MyBatis3.2 配置多数据源/动态切换数据源 方法
2016-12-13 15:07 699http://www.cnblogs.com/hoojo ... -
【转】Spring3 整合Hibernate3.5 动态切换SessionFactory (切换数据库方言)
2016-12-13 15:05 765http://www.cnblogs.com/hoojo ... -
Hibernate中的三种对象状态:
2015-11-15 18:33 413Hibernate中的三种对象状态: 1.瞬时(tr ... -
【转】Hibernate过滤器使用窍门
2015-09-08 17:13 549Hibernate过滤器(filter)是全局有效的 ... -
【转】Hibernate left join(左连接)
2015-08-26 17:27 1972如果是内连接的多表查询可以不用join关键字,在where ... -
【转】Hibernate 所有缓存机制详解
2015-08-26 14:50 649hibernate提供的一级缓存 hibernate是一个 ... -
【转】Hibernate中session的clear(),flush(),evict()方法详解
2015-08-26 14:22 10411.Clear 方法 无论是Load 还是 Get ... -
object references an unsaved transient instance - save the transient instance be
2015-04-15 10:17 905在做hibernate保存时出现异常object refer ... -
【转】An association from the table * refers to an unmapped class: *
2015-04-08 10:13 954解决方法:class路径没写正确。有三个地方需要注意1、< ... -
hibernate映射文件one-to-one 元素属性(转)
2013-01-07 19:13 832one-to-one 元素 属性: name:映射类 ... -
【转】Hibernate中重要对象的详解
2012-12-13 14:18 668★→→SessionFactory (org.hibernat ... -
【转】很详细的spirng+struts+hibernate实例
2012-12-13 14:17 2371本文并不想介绍Struts,Spring,Hiber ... -
【转】Hibernate中id标签
2012-11-19 14:32 838核心提示:Hibernate中,id标签下的可选gener ... -
【转】hibernate动态创建表,修改表字段
2012-10-22 18:50 1048我们知道,hibernate的tool工具中有个包hbm2dd ... -
【转】hibernate many-to-one(多对一)及 cascade(级联)
2012-09-19 16:18 799Model public class User { // ... -
报错:使用hibernate字符串超长
2012-09-13 17:47 1575在使用varchar2类型时必须指定其长度(最小1字节 ...
相关推荐
- **大小写不敏感**:除了Java类名和属性名外,HQL本身对于关键字的大小写不敏感。 - **依赖于`Query`类**:每个`Query`实例代表了一个具体的查询。 #### Query接口及其主要方法 - **创建Query实例**: - `Query...
本案例中,开发者遇到了一个与Hibernate映射配置文件相关的异常,该异常涉及到不支持的“union”联合查询。具体表现为在执行查询时抛出了`SQLGrammarException`,提示为`ORA-00907: 缺失右括号`,这通常意味着SQL...
HQL支持基本的查询操作如选择、更新、删除等,并且可以方便地进行对象之间的关联查询。 #### 二、HQL语句的基本结构 HQL语句的基本结构通常包括以下几个部分: 1. **SELECT**:指定要查询的数据。 2. **FROM**:...
HQL支持一对一、一对多、多对一、多对多等关联查询: 1. **一对一关联**: 查询与`User`对象关联的`Profile`对象: ```java query = session.createQuery("from User u join fetch u.profile"); ``` 2. **一对...
【大数据开发+hive优化方法大全+hql优化】 在大数据处理领域,Hive 是一个非常重要的工具,它提供了基于 SQL 的查询语言(HQL)来处理大规模数据集。针对Hive的性能优化,可以从多个方面进行,包括SQL语句优化、...
Java 8引入了Stream API,虽然不直接支持分页,但可以通过流的`limit`和`skip`操作实现分页效果,尤其适用于内存中的数据分页。 10. **数据库原生分页**: 不同的数据库系统提供了原生的分页机制,如MySQL的`...
Hibernate提供了一种灵活的查询方式——Criteria API和HQL(Hibernate Query Language),它们都支持分页查询。在这些查询中,我们可以通过设置`FirstResult`和`MaxResults`参数来实现分页。`FirstResult`表示从结果...
3. **HQL(Hive Query Language)**: HQL是Hive的查询语言,类似于SQL,支持常见的SQL操作,如SELECT、FROM、WHERE、JOIN等,但不完全兼容SQL,例如不支持事务。 4. **Hive表和分区**: Hive允许创建分桶和分区的表...
- HQL类似于SQL,支持创建表、插入数据、选择数据、联接操作、分组聚合、子查询等。 - 特有的概念如分区、桶(Bucketing)、倾斜(Skewness)和联合(Union)。 - 使用JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN等...
- UNION ALL用于合并多个SELECT结果集,不剔除重复行。 9. **Hive使用注意点** - 确保数据格式与表结构匹配。 - 优化查询,避免全表扫描和过度复杂的子查询。 - 合理使用分区,减少数据处理量。 10. **Hive...
Hive的核心特性是其类SQL查询语言HQL(Hive Query Language),使得对大数据的查询和分析变得简单,即使对SQL不熟悉的开发者也能快速上手。此外,Hive允许开发者编写自定义的mapper和reducer来处理复杂的数据分析...
1. HQL(Hibernate Query Language):面向对象的查询语言,类似SQL但语法更为简洁,支持类和对象的操作。 2. Criteria API:提供了一种基于Java API的动态查询方式,更易于代码的编写和维护。 3. Criteria与...
Hibernate查询方式:Hibernate的查询方式有HQL、Criteria、本地SQL和原生SQL。 Spring框架:Spring提供了控制反转(IOC)和面向切面编程(AOP),其优点包括方便的依赖注入、声明式事务管理、与多种技术整合等。 ...
- TEXTFILE是最基础的文本格式,适合于简单的查询,但不支持压缩和优化。 - SequenceFile是二进制格式,效率较高,支持压缩。 - Parquet和ORC是列式存储格式,优化了查询性能,尤其适用于大型数据集和复杂的分析...
Hive 是一个基于 Hadoop 的数据仓库工具,它允许通过 SQL-like 查询语言(HQL)来处理存储在 HDFS 上的大数据集。在 Hive 中,数据类型是定义列属性的关键部分,理解这些数据类型对于正确地存储和处理数据至关重要。...
- 如果集群发生故障,通常会依赖HA(High Availability)集群配置来实现快速的主从切换,确保数据不丢失。 - 使用SecondNameNode定期备份NameNode的状态信息,以便在故障发生时快速恢复。 4. **数据倾斜问题解决**:...
- find()方法是简单的HQL查询,不支持参数绑定,已在Hibernate 3.x中被废弃。 - Query接口是全面的HQL查询接口,提供参数绑定、分页等多种功能。 7. Hibernate关联关系配置: - 一对一(OneToOne):两个实体间...
支持多种策略,如`<subclass>`、`<joined>`和`<union>`。 ### Hibernate懒加载 #### 一对一懒加载 当不需要立即加载关联对象时使用。 #### 一对多懒加载 同样适用于延迟加载关联对象。 ### HQL和Criteria #### ...
- **UNION**:自Hive 0.7.0版本起支持,允许将多种类型的数据合并到一个字段中。 #### Map数据类型详解 - **定义**:`MAP,V>`,表示一个键值对集合,其中K表示键的类型,V表示值的类型。 - **使用示例**: ```...