कुछ इस तरह का प्रयास करें (मुझे लगता है कि पालतू जानवर के कई मालिक हैं):
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);
}
};
}
यह उन सभी पालतू जानवरों को खोजने का एक उदाहरण है जिनके कम से कम एक मालिक का नाम स्वामीनाम . के बराबर है
लेकिन आप एक विधि जोड़ सकते हैं List<Pet> findByOwnersNameOrderByIdDesc(String ownerName);
इसके बजाय अपने भंडार में (विनिर्देश के समकक्ष के रूप में)।