限制或休眠(Java)

时间:2016-05-06 05:56:07

标签: java hibernate criteria

我想重写sql查询到休眠标准,我有这个问题。 这是原创的:

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限制不起作用。

1 个答案:

答案 0 :(得分:0)

你应该得到编译时错误 session_start(); $reg_no = $_SESSION['reg_no']; echo "Your registration is successful and ur registration No. is ".$reg_no;

作为Restrictions.or()采用两个标准值。检查您的代码并传递两个要比较的标准对象。