问题
最近在调整hql语句时,发生一个莫名其妙的问题,hql语句如下:"from Bill where dataDate?=? and callerNumber like ?”;如此简单的一条语句,在执行时却报了一个“ordinal parameter mismatch;”异常。奇哉怪哉,把callerNumber条件放到最前面却是好的:“from Bill where callerNumber like ? and dataDate?=?”。
原因
经多方查证,原来是call这个字符串惹的祸。在org.hibernate.engine.query.ParameterParser源码类中有下列一段代码:
public static void parse(String sqlString, Recognizer recognizer) throws QueryException{
boolean hasMainOutputParameter = sqlString.indexOf( "call" ) > 0 &&
sqlString.indexOf( "?" ) < sqlString.indexOf( "call" ) &&
sqlString.indexOf( "=" ) < sqlString.indexOf( "call" );
......
}
把callNumber中的call当作是存储过程的call关键字了!
解决
- 将带有call字样的字段放到查询条件最前面
- 用Criteria替代hql
分享到:
相关推荐
Hibernate,作为Java中广泛使用的对象关系映射(ORM)框架,提供了一种优雅的方式来映射枚举类型到数据库。本文将深入探讨Hibernate如何映射枚举类型,并给出实际应用示例。 ### Hibernate枚举映射方式 #### 1. `@...
本文将详细介绍在Hibernate中如何进行枚举类型的映射。 #### 映射枚举类型的基本方式 Hibernate提供了一个专门用于枚举类型映射的类`org.hibernate.type.EnumType`。通过这个类,我们可以选择将枚举实例的`name`...
在Java开发中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者将数据库操作与业务逻辑层解耦,提高代码的可维护性和可扩展性。在Hibernate3.2版本中,对枚举类型的支持得到了显著增强,引入了更...
- `@Enumerated(EnumType.ORDINAL)`: 使用枚举的索引位置作为数据库中的数值,节省存储空间,但可能影响可读性。 3. **关系映射** - `@ManyToOne`, `@OneToOne`: 用于表示一对一或一对多的关系,描述实体间的关联...
在本例中,对于Season.SPRING这个对象,Season.SPRING.name()能够得到该对象的字符串,即“SPRING”;反之,由Season.valueOf(“SPRING”)则能够得到该对象,即Season.SPRING。也是说,使用name()方法和valueOf...
数据分类,文献中nominal,ordinal,数据类型的解释与例子,本资源为PPT是在统计学中将数据分为不同的类型
在本文档中,我们将深入探讨Hibernate的一些核心概念和配置选项,以便更好地理解和应用这个框架。 首先,`hibernate.hbm2ddl.auto`是一个重要的配置属性,它控制了Hibernate在SessionFactory创建时如何与数据库交互...
《序优化:软优化解决硬问题》一书由何毓琦教授与清华大学的赵千川、贾庆山老师共同撰写,旨在探讨一种新颖的优化方法——序优化(Ordinal Optimization),用以解决那些传统优化手段难以应对的复杂难题。...
总的来说,"Demo_OPL Ordinal Pattern Mining_TSCCA_" 提供了一个结合序模式挖掘和三向稀疏典型相关分析的综合应用场景,这将帮助研究者和实践者深入理解这两个技术,并能够将它们有效地应用于自己的项目中。...
### 大边际等级边界在序回归中的应用 #### 核心知识点概述 本文主要探讨了在序回归(Ordinal Regression)领域内如何运用大边际(Large Margin)方法来定义等级边界的问题。序回归是一种用于处理有序分类变量预测...
Coq中的序数普通人我们定义序数如下。 Inductive t: Type := | build (A: Type) (os: A -> t) . Inductive le: t -> t -> Prop := | le_intro A0 A1 os0 os1 (LE: forall (a0: A0), exists (a1: A1), le (os0 a0) ...
Ordinal Representation for Biometric Patterns. Very helpful in Large number of object to be compared. its sort of ranking based comparison.not quantitative
Recently, distance ... We first present a linear ordinal Mahalanobis DML model that tries to preserve both the local geometry information and the ordinal relationship of the data. Then, we develop a no
"ordinal-layers.github.io" 是一个基于GitHub托管的项目,主要关注的是JavaScript技术。这个项目的网页可能是一个关于数据处理、可视化或前端开发的资源库,其中"ordinal-layers"可能是项目的核心概念,可能是一个...
顺序标记上班懒惰的咳嗽咳嗽PATCAIL 最大化平凡和减少数字的游戏文件概述: calc.js将包含所有获取某物价值的get()和calc()函数。 saveload.js将包含初始化,保存和加载文件。 color.js将包含与颜色转换和序数...
在Spring Boot项目中,枚举类型(Enums)的使用是一种常见的数据表示方式,它们提供了类型安全和可维护性。本文将深入探讨如何在Spring Boot应用中实现枚举类型的最佳实践,包括前端与后端交互、数据库操作以及序列...
### 支持向量学习在序回归中的应用 #### 概述 《支持向量学习在序回归中的应用》一文由Ralf Herbrich、Thore Graepel和Klaus Obermayer撰写,他们来自柏林工业大学计算机科学系。本文探讨了预测变量属于序级尺度的...
本资源“JAVA-Degree-ordinal.rar_Java degree”包含9个与Java相关的代码片段,这些代码主要关注文件操作,包括缓冲、查看以及读写功能。下面将对这些知识点进行详细的解释和探讨。 1. **文件缓冲**: 在Java中,...
DLL(Dynamic Link Library)是Windows操作系统中的一个重要组成部分,它是一种共享库,包含了可执行代码和数据,供多个程序使用。了解DLL的依赖关系对于开发者来说至关重要,因为这有助于解决程序运行时因缺失或...