我目前正在开展一个项目,我已经为其提供了一个实体 Customer
,其中包含 Order
实体的集合,因此是OneToMany Customer
与 Order
之间的关系。假设我想选择 Customer
集合的一个子集,其中包含 Order
实体的相应数量(在SQL中称为{{1} }):不存在Spring Data JPA提供的查询方法的默认实现,以避免使用JPQL编写自定义查询,该查询在一个SQL查询中取代客户的订单数而不是 n + 1 < / em>查询 n 的客户数量是多少?或某些注释可以在 COUNT
中添加到某种瞬态字段,例如Customer
?
答案 0 :(得分:2)
如果正确命名存储库接口方法,Spring Data JPA将自动创建相应的COUNT SQL。例如,下面的两个存储库方法将按客户ID或客户姓氏计算订单数
public interface OrderRepository extends CrudRepository<Order,Long> {
Long countByCustomerId(Long id);
Long countByCustomerLastName(String lastName);
}
请仔细阅读以下链接中的代码以获取完整背景
https://github.com/juttayaya/stackoverflow/tree/master/CustomerOrder