3 つの述語があります。
Predicate predicate1 = cb.equal(c.get(Transport_.winnerid).get(User_.id), 1L);
Predicate predicate2 = cb.notEqual(c.get(Transport_.senderid).get(User_.id), user.getID());
Path<Long> longpath = c.join(Transport_.bidList).join(Bid_.bidderid).get(User_.id);
Predicate predicate3 = cb.equal(longpath, user.getID());
ここで、次を返す 4 番目の述語が必要です。
predicate4=(Predicate1 && predicate2) minus ("disjoint") predicte3