【问题标题】:Limit result to 1 [duplicate]将结果限制为 1 [重复]
【发布时间】:2019-11-12 22:16:30
【问题描述】:

我有这个 Spring JPA 存储库:

@Repository
public interface MerchantUserRepository extends JpaRepository<Users, Integer> {

    Optional<Users> findByIdAndTypeIn(Integer id, String... types);
}

有没有办法将返回的行数限制为 1?

【问题讨论】:

  • 不应该id 不是唯一的吗?
  • 试试这个Optional&lt;Users&gt; findTop1ByIdAndTypeIn(Integer id,List&lt;String&gt; types)
  • 该方法返回单个对象而不是列表。究竟需要限制什么。
  • 试试Optional&lt;Users&gt; findTop1ByIdAndTypeIn(Integer id, Collection&lt;String&gt; types)

标签: java spring spring-data-jpa spring-data single-page-application


【解决方案1】:

您在查询中添加一个 Pageable 参数:

Optional<Users> findByIdAndTypeIn(Integer id, String... types, Pageable page);

对于一个结果,您可以像这样创建它:

Pageable firstRow = PageRequest.of(0, 1);

在这种情况下,您也可以考虑为您的查询添加一个 Sort 对象

【讨论】:

  • 我看不出这篇文章有什么问题。为什么它被否决了。(致被否决的人)
  • 另外一个问题:我可以在上面的例子中使用规范吗?
猜你喜欢
  • 2017-05-04
  • 2013-11-13
  • 2014-06-03
  • 1970-01-01
  • 2021-06-24
  • 1970-01-01
  • 1970-01-01
  • 2015-01-19
  • 1970-01-01
相关资源
最近更新 更多