如何在带有自定义参数的Spring Boot中使用Spring Data JPA findAll方法?

时间:2018-07-10 07:42:44

标签: spring-boot spring-data-jpa

我有一个Entity类

@Entity
public class SampleEntity {

    @Id
    @Column(name = "ID")
    private Long id;

    @NotNull
    @Column(length = 2000)
    private String name;

    @NotNull
    @Column(length = 2000)
    private String type;

    @NotNull
    @Column(length = 2000)
    private String something;

    // getters and setters 

}

我需要通过实体 type

的自定义列来查找全部

如何在Spring Boot和JpaRepository中实现这一目标

2 个答案:

答案 0 :(得分:1)

遵循https://docs.spring.io/spring-data/jpa/docs/1.5.0.RC1/reference/html/jpa.repositories.html,它将列出从数据库中查找记录的所有可能方法。

对于您的问题,请在存储库中使用List<SampleEntity> findByType(String type)。此方法将按查询中传递的所有 type 值返回所有 SampleEntity

答案 1 :(得分:0)

除了findByType(String type)之外,您还可以使用Spring Data存储库语法通过相同的参数String type来微调查询。

一些例子:

  • findByTypeIgnoreCase:将返回所有与给定类型字符串匹配的字符串,而忽略该字符串与SampleEntity type字段之间的大小写差异。
  • findFirstByType:如果有给定类型,将返回第一个元素。
  • findFirst100ByType:将返回前100个元素。
  • findByTypeOrderByIdAsc:将按其SampleEntity字段的升序返回所有给定类型的id
  • countByType:将返回给定类型的SampleEntity的数量。
  • removeByType:将删除该类型的所有SampleEntity