我正在使用JPA和Java开发一套路线规划系统。 我需要创建一个findBy方法,可以通过城市列表查找包含这些城市的路线。 以下是相关类:
@Entity
public class Route {
@ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
private List<City> cities = new ArrayList<>();
.
.
}
@Entity
public class City {
.
.
}
现在我尝试了以下的操作,但并不意外地发现它没有起作用:
@Repository
public interface RouteRepository extends JpaRepository<Route, Long> {
Optional<Route> findByCities(List<City> city);
}
有没有使用JPA的简单方法来实现这个功能,或者必须编写复杂的自己的@Query并迭代来查找一个包含集合的实体?