gpt4 book ai didi

java - hibernate 中的限制 OR (Java)

转载 作者:太空宇宙 更新时间:2023-11-04 12:38:33 24 4
gpt4 key购买 nike

我想将 sql 查询重写为 hibernate 条件,但我遇到了这个问题。原创:

if (null != filterGroupIds && !filterGroupIds.isEmpty()) {

hqueryText += (requereAnd ? " and " : "") + "(";
requereAnd = true;
if (filterGroupIds.contains("null")) {
hqueryText += " w.crmUser.groupId = null ";

filterGroupIds.remove("null");
hqueryText += filterGroupIds.isEmpty() ? "" : "or";
}
if (!filterGroupIds.isEmpty())
hqueryText += " w.crmUser.groupId in (" + StringUtils.join(filterGroupIds.iterator(), ",") + ")";

hqueryText += ")";
}

这是我的标准:

if (null != filterGroupIds && !filterGroupIds.isEmpty()) {

if (filterGroupIds.contains(Integer.valueOf(-1))) {
criteria.add(Restrictions.eq("crmUser.groupId", null));
filterGroupIds.remove(Integer.valueOf(-1));
if (!filterGroupIds.isEmpty()) {
criteria.add(Restrictions.or(Restrictions.in("crmUser.groupId", filterGroupIds)));
}
}else {
criteria.add(Restrictions.in("crmUser.groupId", filterGroupIds));
}
}

但是我的OR限制不起作用。

最佳答案

您应该会收到编译时错误criteria.add(Restrictions.or(Restrictions.in("crmUser.groupId", filterGroupIds)));

as Restrictions.or() 采用两个条件值。重新检查您的代码并传递两个条件对象进行比较。

关于java - hibernate 中的限制 OR (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37065271/

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