对象列表作为IN运算符的参数

卢多维奇·纪尧姆(Ludovic Guillaume)

我正在将jpa provider从Eclipselink 2.4.2迁移到Hibernate 4.3.5。

我想将对象列表作为IN运算符的参数传递。目前,我正在尝试使用,List<UUID>但也失败了List<Class<?>>

我的查询看起来像:

SELECT e
FROM Entity e
WHERE e.uuid IN :uuids;

代码 :

List<UUID> uuids = new ArrayList<UUID>();
uuids.add(UUID.fromString("..."));

Query query = session.createQuery(queryString);
query.setParameter("uuids", uuids);

List list = query.list(); // <-- fails here

的例外List<UUID>

java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.util.UUID

UUID[]

java.lang.ClassCastException: [Ljava.util.UUID; cannot be cast to java.util.UUID

Hibernate似乎无法正确理解此类列表。调试时,我可以看到QueryLoader使用了正确的描述符,但没有将其转换为列表。

实际上,这是与Eclipselink一起使用的。我究竟做错了什么?

插口

我猜您正在使用query.setParameter(..)(而不是session.setParaemter(..)您的代码示例中所述。

对于命名查询的多个值,应使用setParameterList代替setParameter

List<UUID> uuids = new ArrayList<UUID>();
uuids.add(UUID.fromString("..."));

Query query = session.createQuery(queryString);
// **This method setParameterList bind multiple values to a named query parameter.**
query.setParameterList("uuids", uuids);

List list = query.list();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

正确使用波浪号运算符作为输入参数

来自分类Dev

将参数(列表或数组)赋予in运算符-python,sql

来自分类Dev

如何重载>>运算符以获取变量参数列表

来自分类Dev

参数末尾的&运算符

来自分类Dev

将数学运算符作为参数传递

来自分类Dev

使用动态布尔运算符过滤对象列表

来自分类Dev

通过运算符重载作为模板参数

来自分类Dev

<=和>运算符作为函数参数

来自分类Dev

数组作为scanf的函数参数。地址运算符

来自分类Dev

在运算符重载中使用“ const”作为参数

来自分类Dev

在C ++中将运算符作为参数发送

来自分类Dev

如何应用按位运算符比较对象列表

来自分类Dev

如何在Ruby中将运算符作为参数传递?

来自分类Dev

RxJs:可以将运算符作为参数传播到管道运算符中吗

来自分类Dev

如何将运算符作为参数传递

来自分类Dev

为什么在结构数组中使用点运算符(。)而不是箭头运算符(->)作为函数参数?

来自分类Dev

在方法中将关系运算符作为参数传递

来自分类Dev

使用运算符(或综合函数)作为参数

来自分类Dev

有关使用传播运算符“传播”对象作为参数的语法的问题

来自分类Dev

如何通过数值运算符作为参数?

来自分类Dev

scala,将运算符作为函数的参数传递

来自分类Dev

如何传递重定向运算符'>'作为execv的参数?

来自分类Dev

实际参数列表中的赋值运算符

来自分类Dev

熊猫系列运算符作为功能参数

来自分类Dev

检索对象的函数运算符的参数类型

来自分类Dev

使用复制运算符作为赋值运算符

来自分类Dev

派生运算符<接收基础对象作为参数

来自分类Dev

使用扩展运算符作为参数

来自分类Dev

将运算符作为参数变量

Related 相关文章

热门标签

归档