Java 有没有办法将jpa谓词数组传递给KOTLIN中的criteriabuilder?
建议的解决方案如下: 在java中工作得很好,但我在kotlin。 在这里,如何将谓词数组传递给用kotlin编写的条件生成器 因此,我要在kotlin中写下这篇文章,并将其传递给大家: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
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。试试*谓词
。这似乎有效。将在运行时确认:)