结点中的休眠总标准
hibernate total criterions in a junction
我根据来自过滤器的条件填充连接点:
if (filter.getName() != null) conjunction.add(...);
if (filter.getSurname() != null) conjunction.add(...);
最后将路口添加到我的标准中:
criteria.add(conjunction);
仅当连接中的条件总数 > 0(以优化查询)时,我才想将某些别名应用于我的条件对象:
if (moreThanOneCriterion(conjunction)) {
criteria.createCriteria("users", "user");
criteria.add(conjunction);
}
我如何知道联结中的条件总数?
作为一个选项,可以在每个 if 块中添加一个计数器变量,但要寻找一个 better/cleaner 选项。
Afaik(根据文档)没有方法可以从连词中获取标准的数量。
可能会做类似的事情
boolean moreThanOneCriterion= false;
if (filter.getName() != null) { conjunction.add(...); moreThanOneCriterion=true; }
if (filter.getSurname() != null) { conjunction.add(...); moreThanOneCriterion=true; }
如果 moreThanOneCriterion
是 true
则添加别名(因为您似乎对标准的确切数量并不真正感兴趣)
我根据来自过滤器的条件填充连接点:
if (filter.getName() != null) conjunction.add(...);
if (filter.getSurname() != null) conjunction.add(...);
最后将路口添加到我的标准中:
criteria.add(conjunction);
仅当连接中的条件总数 > 0(以优化查询)时,我才想将某些别名应用于我的条件对象:
if (moreThanOneCriterion(conjunction)) {
criteria.createCriteria("users", "user");
criteria.add(conjunction);
}
我如何知道联结中的条件总数?
作为一个选项,可以在每个 if 块中添加一个计数器变量,但要寻找一个 better/cleaner 选项。
Afaik(根据文档)没有方法可以从连词中获取标准的数量。
可能会做类似的事情
boolean moreThanOneCriterion= false;
if (filter.getName() != null) { conjunction.add(...); moreThanOneCriterion=true; }
if (filter.getSurname() != null) { conjunction.add(...); moreThanOneCriterion=true; }
如果 moreThanOneCriterion
是 true
则添加别名(因为您似乎对标准的确切数量并不真正感兴趣)