先贴出异常

 Struts has detected an unhandled exception:
Messages:
Position beyond number of declared ordinal parameters. Remember that ordinal parameters are 1-based! Position: 1
File: org/hibernate/engine/query/spi/ParameterMetadata.java Stacktraces
org.hibernate.QueryParameterException: Position beyond number of declared ordinal parameters. Remember that ordinal parameters are 1-based! Position: 1

代码:

//定义hql
String hql = "from Book book where "
+ "book.bookType like :queryArgs or "
+ "book .bookNum like :queryArgs or "
+ "book.bookName like :queryArgs or "
+ "book.bookAuthor like :queryArgs "
+ "order by book.bookType, book .bookNum, book.bookAuthor, book.bookName"; //dao中设值
Query query = sessionFactory.getCurrentSession().createQuery(hql);
for (int i = 0; i < objects.length; i++) {
query.setParameter(i, objects[i]);
}

原因:

异常上说占位符索引越界(溢出),原因是我定义的hql中根本没有占位符“?”,我用的是命名参数,应该通过setString(paraName,paraValue)或者setParameter(paraName,paraValue)的方式来设值,我却用setParameter(int arg0, Object arg1)来设值,所以就报错了!

解决办法:

对于我这个,我通过吧:queryArgs全部替换成?的方式。

hibernate查询语句hql中的占位符?参数与命名参数:name设值方式搞混的更多相关文章

  1. Hibernate查询语句

    1 hql查询 Hibernate的查询语句,hiberante提供的面向对象的查询语言,和sql语句的语法的相似.而且严格区分大小写. 1.1 from字句 /** * hql: from 字句 * ...

  2. Hibernate查询之HQL查询

    转自:http://blog.csdn.net/xiao_yi/article/details/1733342 Criteria查询对查询条件进行了面向对象封装,符合编程人员的思维方式,不过HQL(H ...

  3. Java C# C语言中的占位符

    一般拼接一段字符串在编程中是很常见的事,下面简单做个总结: 什么是占位符?占位符就是先占住一个固定的位置,等着你再往里面添加内容的符号. 1.Java中处理方法: package com.amos; ...

  4. 安卓编程资源文件string中对占位符的使用详解

    这里将为你详细介绍占位符的使用,将其学以致用,可以达到简化布局文件,减少字符串资源量. 1.在资源文件中的使用. 打开资源文件中的strings.xml文件,进行编辑.如下图所示: 图  1.0 2. ...

  5. 【占位符替换】替换String中的占位符标志位{placeholder}

    概述 占位符替换, 占位符表示为:{placeholder}; 示例:替换如下{xxx}占位符中的内容 "名字:{name},年龄:{age},学校:{school}" 提供了两种 ...

  6. 如何在SQL Server查询语句(Select)中检索存储过程(Store Procedure)的结果集?

    如何在SQL Server查询语句(Select)中检索存储过程(Store Procedure)的结果集?(2006-12-14 09:25:36) 与这个问题具有相同性质的其他描述还包括:如何 ...

  7. Java替换字符串中的占位符

    在开发中,会有动态配置字符串其中的某些字符,如何使用字符中的占位符,并且在代码动态替换占位符实现动态配置字符串! 1.定义字符串时,再string文件添加字符串: 注意!记得要在字符文件中加上这些: ...

  8. JavaWeb_(Hibernate框架)Hibernate中数据查询语句HQL基本用法

    HQL(Hibernate Query Language) 是面向对象的查询语言, 它和 SQL 查询语言有些相似. 在 Hibernate 提供的各种检索方式中, HQL 是使用最广的一种检索方式. ...

  9. SQl语句中使用占位符的优点

    1.增加SQL代码可读性2.占位符可以预先编译,提高执行效率3.防止SQL注入4用占位符的目的是绑定变量,这样可以减少数据SQL的硬解析,所以执行效率会提高不少 绑定变量是Oracle解决硬解析的首要 ...

随机推荐

  1. 例子:Background Transfer Service Sample

    本例演示了如何使用后台传输服务来进行后台文件下载,也就是说及时App已经停止运行,同样可以通过后台代理进行文件的下载操作. 对于后台文件传输一下知识点必须注意: 1. 通过使用 BackgroundT ...

  2. 算法-MergeSort

    #include <iostream> #include <vector> #include <iterator> using namespace std; ; v ...

  3. web 页面上纯js实现按钮倒计数功能

    需求构思:本功能想实现的是,一个按钮在页面载入就显示提醒续费,,,倒数60秒后,完成提醒功能,可以按另外一个页面跳转到主页. 参考网上的大神,实现如下:Button2倒数,Button3跳转,在页面上 ...

  4. hightchart属性(更新中...)

    legend:{ layout: 'vertical', //legend中内容垂直放置 align: 'right', //放在图表右边 verticalAlign: 'middle',    // ...

  5. jQuery实用工具函数

    1. 什么是工具函数 在jQuery中,工具函数是指直接依附于jQuery对象.针对jquery对象本身定义的说法,即全局性的函数,我们统称为工具函数,或Utilities函数.它们有一个明显的特征, ...

  6. struts2乱码

    在spring.jar包的org.springframework.web.filter包下有个CharacterEncodingFilter.java 把spring.jar放进工程的lib里,然后在 ...

  7. 单例模式(Java)

    //单例模式 public class Singleton { private static Singleton s; private Singleton(){ } public static Sin ...

  8. 安装mongodb 远程服务器报错

    安装的时候百度了各种教程 就是装不上 结果原因看下图吧  后面这神秘代码是什么鬼 加上后就能正常下载了

  9. sphinx 注意点

    强制更新索引indexer --all --rotate合并索引indexer --merge index1 index2 --rotate No fields in schema - will no ...

  10. Launcher 壁纸

    0.添加壁纸: 在给系统换默认的壁纸的时候,需要修改一些地方: 首先是默认的壁纸,这个是在framework中配置的,所以要修改framework中找到drawable-nodpi(这个文件夹中的内容 ...