尝试这样的事情(我假设宠物有很多主人):
public static Specification<Pet> ownerNameEqual(String ownerName) { return new Specification<Pet>() { @Override public Predicate toPredicate(Root<Pet> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) { Join<Pet, Owner> owners = root.join("owners"); criteriaQuery.orderBy(criteriaBuilder.desc(root.get("id"))); return criteriaBuilder.equal(owners.get("name"), ownerName); } }; }这只是搜索至少一个拥有者名称等于 ownerName的 所有宠物的示例 __
但是您可以
List<Pet> findByOwnersNameOrderByIdDesc(StringownerName);改为在存储库中添加一个方法(等同于Specification)。



