Spring JPA分页,字段上只有布尔检查



我有一个名为Skill的实体,其is_deleted布尔值默认为false

@Repository
public interface SkillRepository extends JpaRepository<Skill, Long> {
Page<Skill> findAllByOrderByDisplayOrderAsc(Pageable pageable);
}

我想过滤掉具有is_deleted真分页的技能。如何做到这一点?谢谢。

假设属性如下:

boolean deleted
public boolean isDeleted(){
return deleted;
}
public void setDeleted(boolean deleted) {
this.deleted = deleted;
}

下面应该可以工作。

public interface SkillRepository extends JpaRepository<Skill, Long> {
Page<Skill> findAllByDeletedIsFalseOrderByDisplayOrderAsc(Pageable pageable);
}

如果您的属性实际上命名为is_deleted,而不仅仅是列,事情可能会变得棘手,我强烈建议切换到标准的Java命名约定。

您可以在这里找到可能的谓词列表:https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#appendix.query.method.predicate

您可以在您的模型类中使用@Column注释将一个字段映射到is_deleted列,并在您的存储库方法中使用该字段。

在你的技能类(模型)中添加这样的东西

...
@Column(name = "is_deleted")
boolean deleted;
...

,然后您可以使用该字段在存储库中搜索,如下所示:

Page<Skill> findByDeleted(boolean isDeleted, Pageable pageable);

最新更新