How to search with JpaRepository and nested list of objects?

W can use ‘_’ (Underscore) character inside the method name to define where JPA should try to split.

In this case our method name will be

List<Person> findByQualification_name(String name);

First, change experienceInMonths from String to int (otherwise you can not compare the string with the number). Then you can try to use this 'sausage':

List<Person> findByQualifications_experienceInMonthsGreaterThanAndQualifications_experienceInMonthsLessThanAndName(int experienceGreater, int experienceLess, String name);

Or you can try to use this pretty nice method:

@Query("select p from Person p left join p.qualifications q where q.experienceInMonths > ?1 and q.experienceInMonths < ?2 and q.name = ?3")
List<Person> findByQualification(int experienceGreater, int experienceLess, String name);