首页 > 解决方案 > 如何在存储库中制作方法,如 Spring Data Rest 中的 GreaterThanOrEquals ..?

问题描述

如何在 Spring Data Rest.. 中对 GreaterThanOrEquals 等实体进行方法?

实体类如下所示。

Class Demo {
private Long id;
private Long number;
}

存储库类如下所示。

interface DemoRepository extends JPARepository<Demo, Long>{

  Collection<Demo> findByIdAndNumberGreaterThanZero(Long id, Long number);

}

上面的代码可以工作。?如果不是这样,我怎么能在没有@Query 的情况下实现这一目标。?

标签: spring-data-rest

解决方案


方法名称输入错误,它应该是 findByIdAndNumberGreaterThan Equal,而不是 findByIdAndNumberGreaterThan Zero

Collection<Demo> findByIdAndNumberGreaterThanEqual(Long id, Long number);

此外,如果id属性是实体的实际 id,则此方法将返回零或一个结果。(具有给定 id 的实体,如果该实体的数量大于或等于或根本没有)

所以应该是

Optional<Demo> findByIdAndNumberGreaterThanEqual(Long id, Long number);

...或者如果您需要number属性大于给定值的所有实体:

Collection<Demo> findByNumberGreaterThanEqual(Long number);

推荐阅读