【问题标题】:Spring JPA findByColumnNameLike not workingSpring JPA findByColumnNameLike 不起作用
【发布时间】:2019-02-01 18:16:09
【问题描述】:

我有一个方法 -> findByfileNameLike(fileName,1, pageable) 并且它在扩展 JPA 存储库的存储库中的声明是

@Query(value = QUERY)
@Transactional(propagation = Propagation.REQUIRED, readOnly = true)
@LogExecutionTime
Page<BatchDTO> findByfileNameLike(String 
              fileName,@Param("departmentId")Integer departmentId, Pageable pageable)

查询是Select new DTO(bdm.id.batch.status) from Table bdm where bdm.id.departmentId =:departmentId and bdm.id.batch.status &lt;&gt; 7";

我想通过列文件名过滤查询。我已经阅读了根据 spring data jpa 的文档给出的方法名称。但它不起作用。 我将在哪里以及如何给出要过滤的文件名?它应该是方法中的第一个参数吗?

【问题讨论】:

  • 如果您指定了@Query,则方法名称无关紧要。我想实际查询对于询问为什么查询不起作用的问题很有用。
  • 我在问题@Alan Hay 中添加了查询
  • 您的查询没有引用文件名。如前所述,您的方法名称无关紧要,因为您在此处手动指定查询。
  • 我想要像“where bdm.fileName like 'file1223”这样的查询......所以我将 methodName 指定为 findByfileNameLike。名字对吗?
  • 是的。你认为这将如何运作? petrikainulainen.net/programming/spring-framework/…

标签: spring-data-jpa


【解决方案1】:

一旦您使用注解@Query 指定查询,Spring data jpa 将不会根据方法名称自动为您创建查询,它将依赖于使用注解提供的查询。 findByfileNameLike 方法在这里没有任何区别,因为查询是明确提供的。希望能回答你的问题

【讨论】:

  • 谢谢@Deni Simon
猜你喜欢
  • 2015-10-18
  • 2020-07-11
  • 1970-01-01
  • 2018-12-09
  • 2015-01-20
  • 2017-06-09
  • 2017-09-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多