我很难理解我如何才能进行一个类似“不在”的查询。
基本上我有一个根Agent
。这些代理有一个UUID id
。
我想在 predicate 列表中添加一个 predicate ,以便在查询中排除ID在给定UUID集/集合中的任何代理。
不完全知道如何去做,但我看到有一个在,但没有不在,但有一个isNotMember
...
@Override
public Predicate toPredicate(Root root, CriteriaQuery query, CriteriaBuilder criteriaBuilder) {
root.fetch(Agent_.TAGS, JoinType.LEFT);
query.distinct(true);
List<Predicate> predicateList = new ArrayList<>();
if(!excludedAgents.isEmpty()){
// Excluded Agents is a Set<UUID> of the Agent Ids to exclude.
Predicate notMember = criteriaBuilder.isNotMember(????);
predicateList.add(notMember);
}
//More predicates here added....
return criteriaBuilder.and(predicateList.toArray(new Predicate[0]));
}
谢谢你的帮助!
1条答案
按热度按时间qyswt5oh1#
isMember/isNotMember用于检查某个实体是否不属于toMany关系。
你要找的是