Hibernate getParameterValue() 不适用于集合

Jau*_*era 6 java hibernate jpa

我在 JPA Helper 类中有一个如下所示的函数:

 public static Query copyQueryParameters(Query queryFrom, Query queryTo) {
    for (Parameter<?> param : queryFrom.getParameters()) {
        queryTo.setParameter(param.getName(), 
        queryFrom.getParameterValue(param));
    }
    return queryTo;
 }
Run Code Online (Sandbox Code Playgroud)

在我升级到 Hibernate 5+ 之前,它曾经运行良好。现在,每次我尝试查找作为集合或数组的参数时,它都会抛出一个IllegalArgumentException说未找到该值的信息。它确实适用于所有非集合参数。

Caused by: java.lang.IllegalArgumentException: Unknown parameter name : _status
Run Code Online (Sandbox Code Playgroud)

_status在这种情况下,是Listenum。但它不适用于任何其他类型的多值参数,例如数组或映射。

我一直在使用它来将参数从一个查询复制到另一个查询,以便select count...无需重新设置每个查询参数就可以制作一个。

还有其他人面临这个问题吗?