Java 有没有办法将jpa谓词数组传递给KOTLIN中的criteriabuilder?

Java 有没有办法将jpa谓词数组传递给KOTLIN中的criteriabuilder?,java,jpa,kotlin,syntax,hibernate-criteria,Java,Jpa,Kotlin,Syntax,Hibernate Criteria,建议的解决方案如下: 在java中工作得很好,但我在kotlin。 在这里,如何将谓词数组传递给用kotlin编写的条件生成器 因此,我要在kotlin中写下这篇文章,并将其传递给大家: cq.select(customer).where(predicates.toArray(new Predicate[]{})); 我的示例代码: val predicates = mutableListOf<Predicate>() if (XYZ != null) { val XYZP

建议的解决方案如下: 在java中工作得很好,但我在kotlin。 在这里,如何将谓词数组传递给用kotlin编写的条件生成器

因此,我要在kotlin中写下这篇文章,并将其传递给大家:

cq.select(customer).where(predicates.toArray(new Predicate[]{}));
我的示例代码:

val predicates = mutableListOf<Predicate>()
if (XYZ != null) {
    val XYZPath = element.get<Long>("XYZ")
    predicates.add(criteriaBuilder.equal(XYZPath, XYZ))
}
criteriaQuery.select(element)
    .where(criteriaBuilder.or(???))
val谓词=mutableListOf()
如果(XYZ!=null){
val XYZPath=element.get(“XYZ”)
add(criteriaBuilder.equal(XYZPath,XYZ))
}
criteriaQuery.select(元素)
.其中(标准生成器或(???))

感谢marstran的帮助解决了这个问题:

criteriaQuery.select(element)
    .where(criteriaBuilder.or(*predicates.toTypedArray()))

感谢marstran的帮助解决了这个问题:

criteriaQuery.select(element)
    .where(criteriaBuilder.or(*predicates.toTypedArray()))

是否是
谓词.toArray(新谓词[predicates.size()])
部分有问题?如果是,请尝试
谓词.toTypedArray()
是,我尝试过,但java方法需要一个java数组,因为
谓词…
将java方法定义为参数哦,它需要一个vararg。试试
*谓词
。这似乎有效。将在运行时确认:)是否是
谓词.toArray(新谓词[predicates.size()])
部分您遇到问题?如果是,请尝试
谓词.toTypedArray()
是,我尝试过,但java方法应该是由
谓词定义的java数组…
作为参数哦,它需要一个vararg。试试
*谓词
。这似乎有效。将在运行时确认:)