当前位置: 首页 > 知识库问答 >
问题:

Spring Boot JPA find,filter

左丘宜然
2023-03-14

与Spring一样,jpa提供了一些有用的特性,通过在方法名中定义存储库来从存储库中查找项。e.x findByTitle(字符串标题),那么Spring会自动在标题中搜索给定字符串。如果我有一个名为numberOfCopies的int列,并且我只想找到大于0大于null的数据集,那么如何定义这样的方法呢?

筛选出那些具有numberOfCopies等于0=0的书籍

@Entity
public class Book {
    @Id
    private int id;
    private String title;
    private int numberOfCopies;
}

我可以用去氧甲草吗

公共列表FindBooksByNumberOfCopies.大于0?使用此Spring特性而不使用一些if或for循环

共有1个答案

沃阳曜
2023-03-14

首先,您应该使用integer,因为在我看来,使用包装类比使用原语更好,并且通过注释强制执行not null要求,例如@column(nullable=false)

@Entity
public class Book {

    @Id
    private Integer id;
    private String title;
    private Integer numberOfCopies;
}

然后可以在bookrepository中添加以下两个方法;

List<Book> findByNumberOfCopiesGreaterThan(Integer numberOfCopies);

default List<Book> findAllAvailableBooks() {
    return findByNumberOfCopiesGreaterThan(0);
}

并使用缺省FindalLavailableBooks方法,使用hardcoded0值,这是您的要求。

 类似资料:
  • 问题内容: 我正在尝试使用MongoTemplate在Spring Data中实现以下工作的mongoDb查询: 该集合具有以下结构: 我要在这里做的是一份有关简单调查提交数据的报告。问题是“第一个问题的回答为0的用户如何回答第二个问题?” 我花了一整天时间搜索SpringData Mongo Db文档,但没有发现任何东西。有人可以帮忙吗? TIA 问题答案: 您可以通过提供自己的解决方案来解决此

  • 问题内容: 假设我有一个名为faq.html的简单页面。我希望此页面可以公开访问,因此我应用了通常的Spring Security配置: 我们还说,如果用户在身份验证后到达此页面,我想在页面上打印“ Hi Firstname Lastname”。对于需要身份验证的页面,我只需将以下结果放入我的中,然后可以在以后的视图中访问这些名称: 这不适用于,大概是因为当您指定时,然后的呼叫会传回null。(此

  • 问题内容: 在这里使用Spring Framework … 我创建了一个过滤器来更改css文件的响应正文,如果直接调用url,它将运行。但是,如果匹配urlrewrite规则,则将跳过过滤器。 示例: 在web.xml中: urlrewrite.xml中有一个类似的映射设置: (出于多种原因,我们需要这样做) 因此,任何路径以w /“ / styles-special /”开头的 .css文件都将

  • 问题内容: 在一种方法中,我打电话了。 里面做什么?这不是递归调用吗? 问题答案: Servlet过滤器是责任链设计模式的实现。 所有过滤器都是链接的(按照其在web.xml中的定义顺序)。的是进行到链中的下一个元素。链的最后一个元素是目标资源/ servlet。

  • 问题内容: 我正在尝试通过将它们添加到和中,并在中找到单独的重复项和非重复项 在本月底,我希望是和是,因为有2个额外的实例和1 。但是,运行此命令后,它们都为空。 永远不会调用提供给该流的lambda,我通过尝试在内部打印进行验证: 当我尝试与任何一个一起使用时,这将不起作用。我究竟做错了什么? 注意:可能还有其他与此类似的问题,但是我正在寻找一种规范的答案,以说明这种问题为什么不适用于Java

  • 问题内容: 我使用JSF,Hibernate,Spring创建一个Web应用程序。我添加了一个用于检查会话的过滤器。我的过滤器代码是: 在过滤器的init方法中,我有一些避免使用URL的方法,应该跳过会话检查,例如登录页面本身。这工作正常,但是此过滤器限制了我的CSS,图像和JS无法在登录页面上加载。建议我过滤器出了什么问题? 问题答案: 您的登录页面需要一些资源(CSS,JS,图像),这些资源是

  • 问题内容: 我的 Google云端硬盘 中有一些其他人与我共享的文件,我希望能够对其进行查询。不幸的是,MetadataBuffer的结果计数为0 这是代码: 我正在使用新的Google云端硬盘,并且还尝试将一些共享文件从“ 传入文件夹” 移到“ 我的云端硬盘” 根目录中。依然没有。我将不胜感激任何帮助和建议。 问题答案: 如前所述,在无法使用Google Drive api android从Go

  • 问题内容: 在Java Web应用程序中按什么顺序调用Servlet.init()和Filter.init()方法?首先叫哪个?是否比所有Filter.doFilter方法都先调用了所有Servlet.init()方法? 问题答案: 筛选器始终在webapp启动期间按照定义的顺序进行初始化。 默认情况下,仅在第一个HTTP请求期间按其url模式初始化servlet。但是,您也可以使用条目指定它们的