I have this examples ,but I can't solved difference between them. Both of them are creating same query.
public static Specification<TransactionProjection> hasDestinationPartyNumber(List<PartyNumber> values) {
if (CollectionUtils.isEmpty(values)) return not();
return (root, query, cb) -> cb.isTrue(root.get(TransactionProjection_.column1).in(values));
}
public static Specification<TransactionProjection> hasNotDestinationPartyNumber(List<PartyNumber> values) {
if (CollectionUtils.isEmpty(values)) return not();
return (root, query, cb) -> cb.isFalse(root.get(TransactionProjection_.column1).in(values));
}