gpt4 book ai didi

java - Hibernate - where 子句任何集合作为命名参数查询

转载 作者:行者123 更新时间:2023-12-01 09:11:58 31 4
gpt4 key购买 nike

我想知道是否可以对集合进行这种评估,例如查询在我的项目中名为查询的类中不起作用,如下所示:

@NamedQueries(value = {  
@NamedQuery(
name = "Foo.getBarList",
query = "select f from Foo f where (:barlist is null or f.barlist.id in (:barslist)) " )})

来自这两个帖子:

FROM Foo WHERE Id = :id AND (:barlist 为 null 或 (:barlist) 中的 Bar) JPA where clause any

Hibernate HQL Query : How to set a Collection as a named parameter of a Query?

我猜问题是查询中的 id,所以我删除并停止错误,只需更改此:
“从 Foo f 中选择 f,其中 (:barlist 为 null 或 (:barslist) 中的 f.barlist)””

最佳答案

您可以检查而不是在 HQL 中

if(barlist==null){
//query=FROM Foo WHERE Id = :id
}else{
//query=FROM Foo WHERE Id = :id AND Bar in :barlist
// query.setParameterList(:barlist",<list object>)
}

关于java - Hibernate - where 子句任何集合作为命名参数查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40865338/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com