无法将Hibernate命名参数插入到SQL查询中:

String values="'a', 'b', 'c', 'd'";

SQLQuery query = getSession().createSQLQuery("SELECT * FROM data WHERE value IN (:values)");

query.setParameter("values", values);

List data = query.list(); // returns data: size = 0 ...

但是,如果我写的话:

String values="'a', 'b', 'c', 'd'";

SQLQuery query = getSession().createSQLQuery("SELECT * FROM data WHERE value IN (" + values + ")");

List data = query.list(); // returns data: size = 15 ...

第二种方式返回数据而不是第一种方式.

在SQL中使用命名参数我做错了什么?

解决方法:

values变量应该是一个列表或一个字符串数组,而不是一个字符串,因为该参数在’IN’子句中.

所以,将代码更改为以下代码,它应该工作:

String[] values= {"a", "b", "c", "d"};

SQLQuery query = getSession().createSQLQuery("SELECT * FROM data WHERE value IN (:values)");

query.setParameterList("values", values);

List data = query.list();

标签:java,hibernate

来源: https://codeday.me/bug/20190722/1504050.html

java hql 参数_java – SQLQuery中的Hibernate命名参数相关推荐

  1. java方法传对象参数_Java方法中的参数太多,第2部分:参数对象

    java方法传对象参数 在上一篇文章中 ,我研究了与方法和构造函数的长参数列表相关的一些问题. 在那篇文章中,我讨论了用自定义类型替换基元和内置类型以提高可读性和类型安全性. 这种方法使方法或构造函数 ...

  2. java的成员方法_java编程中的成员方法是什么?

    DIEA 成员方法描述对象所具有的功能或操作,反映对象的行为,是具有某种相对独立功能的程序模块.它与过去所说的子程序.函数等概念相当.一个类或对象可以有多个成员方法,对象通过执行它的成员方法对传来的消 ...

  3. java 设置系统参数_Java如何设置系统参数和运行参数

    系统参数 系统级全局变量,该参数在程序中任何位置都可以访问到.优先级最高,覆盖程序中同名配置. 系统参数的标准格式为:-Dargname=argvalue,多个参数之间用空格隔开,如果参数值中间有空格 ...

  4. java runnable 异常_JAVA 线程中的异常捕获

    在java多线程程序中,所有线程都不允许抛出未捕获的checked exception(比如sleep时的InterruptedException),也就是说各个线程需要自己把自己的checked e ...

  5. java swing背景_java Swing中添加背景图片(总结)

    在java GUI图形化设计中,Swing组件添加背景图片主要有两中情况:1,在Jpanl面板中添加背景图片,2,在jLable中添加背景图片 首先介绍一种最巧妙的背景图片添加方法, 1.利用JLab ...

  6. java form action 参数_java发起form请求(有参数,无参数)

    1.无参请求 /** * 无参数请求 * @param url * @return */ public static String sendNoPara(String url){ try { Post ...

  7. linux脚本外输入参数,shell 脚本中关于用户输入参数的处理

    1.命令行参数 向shell脚本传递数据的最基本方式是使用命令行参数. (1) 读取参数 读取输入的参数的变量为位置参数,位置参数通过标准数字表示, 其中$0为程序名称,$1为第一个参数,$2为第二个 ...

  8. python可变参数和关键字参数位置_python中函数的默认参数和可变长参数如何排列?...

    参数在python中总是通过赋值进行传递的.在默认情况下,参数是通过其位置进行匹配的,从左到右,而且必须精确的传递和函数头部参数名一样多的参数. 这种默认的传递方式很简单 def f(a,b,c): ...

  9. linux cp -r 参数,Linux系统中cp命令的参数及用法详解

    Linux系统中cp命令主要是用来复制文件或者目录.下面由学习啦小编为大家整理了Linux系统中cp命令的参数及用法详解的相关知识,希望对大家有帮助! Linux系统中cp命令的参数及用法详解:参数说 ...

最新文章

  1. J - Invitation Cards POJ - 1511
  2. Intel发布神经网络压缩库Distiller:快速利用前沿算法压缩PyTorch模型
  3. 3D 三角形的前面和后面
  4. 华为鸿蒙harmonyos-面向全场,华为正式官宣鸿蒙手机版相约6月2日,EMUI官博更名为HarmonyOS...
  5. 【Linux】一步一步学Linux——grep命令(49)
  6. 学习笔记(08):Python网络编程并发编程-实现服务端可以对多个客户端提供服务
  7. ios 一直是正在等待审核_iOS开发者账号被调查了,相关问题整理
  8. 【英语学习】【Level 08】U02 Movie Time L6 Blockbuster
  9. L1-044 稳赢 (15 分)—团体程序设计天梯赛
  10. web在session设置的账户用户名显示为空_海蜘蛛路由Web认证怎么设置 海蜘蛛路由Web认证方法【介绍】...
  11. Volley(五)—— 自定义Request
  12. 两台文件服务器共享文件同步,如何实现两台或多台电脑远程修改文件同步更新?...
  13. nxlog收集linux日志,Nxlog——日志采集神器简介
  14. 清空mysql数据库所有表数据_清空数据库所有表数据mysql
  15. 《web课程设计》期末网页制作 基于HTML+CSS+JavaScript制作公司官网页面精美
  16. 数据中台外部演示脚本
  17. 基于【NPU+AI ISP】多媒体SoC方案开发硬件边缘计算_AI 摄像机产品
  18. 基于struts2的个人信息管理系统(一)
  19. 沟通的艺术:看人入里,看出人外 - part 5
  20. java解非线性方程组_非线性方程与方程组的数值解法

热门文章

  1. 小米回应林斌退休传闻;哈工大等高校被禁止使用 MATLAB;统信软件 UOS20 SP1 系统升级| 极客头条...
  2. Netscape 重构软件倒闭了,但我仍坚定地站重写!
  3. 刚刚收割阿里、腾讯等大厂 Offer,他说这些话一定要和你们说一下
  4. 简直不要太硬了!一文带你彻底理解文件系统 | 原力计划
  5. “数学不好,干啥都不行!”高级开发:方向不对,努力也白费!
  6. iOS 开发面试通关指南:67 个必知问题!
  7. @程序员,2020年,这类程序员要做好苦日子准备了!
  8. C/C++ 最易受攻击、70% 漏洞无效,揭秘全球开源组件安全现状
  9. 作为外包,你有过不甘吗?| 畅言
  10. 哪些程序员在围观 996.ICU?Python 爬取 40000 条 GitHub 数据告诉你!