如何使用 Spring JPA 存储库区分计数

How to distinct counting with Spring JPA Repository

如何使用 Spring Data JPA 进行不同的计数?我不想使用 @Query 注释。等效的 sql 查询将是:

SELECT COUNT(DISTINCT rack) FROM store WHERE id = 10001;

我尝试编写以下查询,但它不起作用:

int countDistinctRackById();

这应该有效:

Integer countDistinctRackById(Long id);

根据Spring Documentation试试这个:

Integer countDistinctRackById(String id);

将单词Rack替换为机架字段的实际名称

我刚刚试了一下,none 现有答案有效。

以下查询:

Integer countDistinctRackById(String id);

将呈现如下内容:

select distinct count(table0_.rack) as col_0_0_ from table table0_ where table0_.id=?

由于我目前坚持使用 Spring Boot 1.2.3,idk 如果以后有任何更改,但为了实现不同的计数,我必须定义一个自定义查询:

@Query("Select count(distinct rack) from Table t where t.id = ?1")