与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循环
首先,您应该使用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。但是,您也可以使用条目指定它们的