Fuu*_*ury 8 java spring jpql spring-data-jpa
我正在使用 JPA 在 Java 中开发路线规划系统。我需要创建一个 findBy 方法,以通过其包含的城市列表查找路线。以下是课程:
@Entity
public class Route {
@ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
private List<City> cities = new ArrayList<>();
.
.
}
@Entity
public class City {
.
.
}
Run Code Online (Sandbox Code Playgroud)
现在我尝试了,但并不奇怪它不起作用,如下:
@Repository
public interface RouteRepository extends JpaRepository<Route, Long> {
Optional<Route> findByCities(List<City> city);
}
Run Code Online (Sandbox Code Playgroud)
是否有使用 JPA 的简单方法,或者我是否必须编写一个困难的 @Query 并以某种方式进行迭代,以通过集合查找实体?
您可以在RouteRepository, 中更改方法的签名以使用 IN 运算符。
@Repository
public interface RouteRepository extends JpaRepository<Route, Long> {
Optional<Route> findByCitiesIn(List<City> cities);
}
Run Code Online (Sandbox Code Playgroud)
那么它应该工作。但是请注意,这不是完全匹配。检查更多
https://docs.spring.io/spring-data/jpa/docs/2.1.x/reference/html/#jpa.query-methods
| 归档时间: |
|
| 查看次数: |
9026 次 |
| 最近记录: |