我有一个名为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);