ORA-00907: 缺失右括号(通用解决办法)
PL/SQL 的SQL语句可以执行,但是放在hibernate中,后台打印,出现了错误。
错误的SQL解析:黄色为错误部分
Hibernate:
select
examinee0_.EXAM_YEAR as col_0_0_,
count(*) as col_1_0_,
sum(caseexaminee0_.CHECK_FLAGwhen'2'then1else 0end) as col_2_0_
from
vet_test.EXAMINEE examinee0_
group by
examinee0_.EXAM_YEAR
order by
examinee0_.EXAM_YEAR ASC
很明显 ,标黄的地方出错,空格不翼而飞,后台提示ORA-00907: 缺失右括号
经过一番检查!终于发现了问题所在:那就是hibernate的SQL查询翻译器!
Hibernate3.0 采用新的基于ANTLR的HQL/SQL查询翻译器,
在hibernate的配置文件中,hibernate.query.factory_class
属性用来选择查询翻译器。
(1)选择Hibernate3.0的查询翻译器:
hibernate.query.factory_class=
org.hibernate.hql.ast.ASTQueryTranslatorFactory
(2)选择Hibernate2.1的查询翻译器hibernate.query.factory_class=
org.hibernate.hql.classic.ClassicQueryTranslatorFactory
解决方案:
将hibernate.cfg.xml的
<property name="hibernate.query.factory_class">
org.hibernate.hql.classic.ClassicQueryTranslatorFactory
</property>
标蓝色的部分替换成org.hibernate.hql.ast.ASTQueryTranslatorFactory
替换后后台打印解析后的sql:黄色为解析正确后的sql
Hibernate:
select
examinee0_.EXAM_YEAR as col_0_0_,
count(*) as col_1_0_,
sum(case examinee0_.CHECK_FLAG
when '2' then 1
else 0
end) as col_2_0_
from
vet_test.EXAMINEE examinee0_
group by
examinee0_.EXAM_YEAR
order by
examinee0_.EXAM_YEAR ASC
ORA-00907: 缺失右括号(通用解决办法)的更多相关文章
- ORA-00907: 缺失右括号 整理解决
ORA-00907: 缺失右括号 前言 最近在开发过程中使用oracle数据库,在程序中进行查询数据时遇到了“ORA-00907: 缺失右括号”的问题,但是如果直接把sql语句直接在数据库或PL/SQ ...
- Oracle创建表格报ORA-00906:缺失左括号错误解决办法
来源于:http://www.linuxidc.com/Linux/2013-06/85297.htm 解决办法: create table myTable(id number(5,2),name v ...
- ORA-00907: 缺失右括号,原因及解决办法整理
ORA-00907: 缺失右括号,原因及解决办法整理 1 union all中order by 导致缺失右括号 在有union all的子查询中使用了order by,会导致缺失右括号的错误,事实上在 ...
- ORA-00907: 缺失右括号问题整理解决
ORA-00907: 缺失右括号 前言 近期在开发过程中使用oracle数据库,在程序中进行查询数据时遇到了"ORA-00907: 缺失右括号"的问题.可是假设直接把sql语句直接 ...
- [转]ORA-00907: 缺失右括号
转至:http://www.cnblogs.com/Olive116/p/5149680.html ORA-00907: 缺失右括号 前言 最近在开发过程中使用oracle数据库,在程序中进行查询数据 ...
- ORA-00907: 缺失右括号
创建表时出现ORA-00907: 缺失右括号的情况 调整关键字的顺序 CREATE TABLE s_dept(ID PRIMARY KEY NOT NULL NUMBER(7),NAME NOT NU ...
- log file sync 等侍值高的一般通用解决办法
log file sync等待时间发生在redo log从log buffer写入到log file期间. 下面对log file sync做个详细的解释. 何时发生日志写入: 1.commit或者r ...
- 【java】oracle好用,但java运行缺失右括号
可能原因SQL拼接有空格被省略导致sql粘连. 解决办法,扩大拼接或者缩小拼接范围.
- echarts中图表过于靠左或靠右的情况解决办法。
经过好多次尝试,终于在http://blog.csdn.net/ainuser/article/details/76641963中得到解决. grid: { x: '30%', //相当于距离左边效果 ...
随机推荐
- eclipse修改xml文件默认的打开方式为XML Editor
1.菜单:Window -> Preferences -> General -> Editors -> File Associations ...
- Android首页轮播图直接拿来用
import java.util.ArrayList; import java.util.List; import java.util.concurrent.Executors; import jav ...
- css一个div设置多个背景图片
html:定义一个div <div class="item__content"></div> css:样式 .item__content { positio ...
- Sql语句的一些事(二)
与sql语句的书写顺序并不是一样的,而是按照下面的顺序来执行 from--where--group by--having--select--order by, from:需要从哪个数据表检索数据 wh ...
- 基于Redis的三种分布式爬虫策略
前言: 爬虫是偏IO型的任务,分布式爬虫的实现难度比分布式计算和分布式存储简单得多. 个人以为分布式爬虫需要考虑的点主要有以下几个: 爬虫任务的统一调度 爬虫任务的统一去重 存储问题 速度问题 足够“ ...
- db2数据库,表相乘,直接扩大表数据
T1 表 SEQ表 想得到结果集为: 语句: SELECT * FROM (SELECT * FROM seq,t1) u LEFT JOIN t1 ON u.id=t1.id AND u.jjh=t ...
- apache2 执行ab测试
ab命令 1, cd进入目录apache bin目录 2, ·ab -n 5000 -c 200 http://admin.dzj.local/publics/login.html >> ...
- add list of symbols -- latex
* add list of symbols -- latexinclude a *toc.tex* file in the *main.tex* in *main.tex*#+BEGIN_SRC la ...
- *lucene索引_创建_域选项
[索引建立步骤] [创建Directory] [创建writer] [创建文档并添加索引] 文档和域的概念很重要 文档相当于表中的每一条记录,域相当于表中的每一个字段. [查询索引的基本信息] 使用I ...
- js在HTML中的三种写法
1.内联样式 内联样式分为两种,一是直接写入元素的标签内部 <html> <title>js样式内联写法</title> <meta http-equiv=& ...