使用@Query 时,我可以更改 Spring Data JPA 中的方法名称吗?
Can I change method name in Spring Data JPA when using @Query?
例如,我在Spring Data JPA 接口中有一个很大的方法名称。
可选的 findByNameAndRestaurantIdAndDateAdded(String name, int restaurantId, LocalDate dateAdded);
如果我添加@Query,我可以将其更改为更具可读性的内容吗?
@Query("SELECT d FROM Dish d " +
"WHERE d.name=?1 AND d.restaurant.id=?2 AND d.dateAdded=?3")
Optional<Dish> someRandomNameIWant(String name, int restaurantId, LocalDate dateAdded);
方法名加上@Query后有什么意义吗?
是的,您可以,因为您定义了自己的查询,您不再使用Spring数据的查询推导
例如,我在Spring Data JPA 接口中有一个很大的方法名称。
可选的 findByNameAndRestaurantIdAndDateAdded(String name, int restaurantId, LocalDate dateAdded);
如果我添加@Query,我可以将其更改为更具可读性的内容吗?
@Query("SELECT d FROM Dish d " +
"WHERE d.name=?1 AND d.restaurant.id=?2 AND d.dateAdded=?3")
Optional<Dish> someRandomNameIWant(String name, int restaurantId, LocalDate dateAdded);
方法名加上@Query后有什么意义吗?
是的,您可以,因为您定义了自己的查询,您不再使用Spring数据的查询推导