我有这个例子,但我无法解决它们之间的区别。他们都在创建相同的查询。
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));
}