我有一个名为Skill的实体,它的is_deleted布尔值默认为false。
Skill
is_deleted
false
@Repository public interface SkillRepository extends JpaRepository<Skill, Long> { Page<Skill> findAllByOrderByDisplayOrderAsc(Pageable pageable); }
我想过滤掉分页为is_deleted的技能。怎么做?谢谢。
6l7fqoea1#
假设属性如下所示:
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命名约定。您可以在此处找到可能的 predicate 列表:https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#appendix.query.method.predicate
d6kp6zgx2#
您可以使用模型类中的@Column注解将字段Map到is_deleted列,并在存储库方法中使用该字段。在你的技能类(模型)中添加类似这样的内容
@Column
... @Column(name = "is_deleted") boolean deleted; ...
然后您可以使用字段在存储库中搜索,如下所示:
Page<Skill> findByDeleted(boolean isDeleted, Pageable pageable);
2条答案
按热度按时间6l7fqoea1#
假设属性如下所示:
以下方法应该有效。
如果您的属性实际上命名为
is_deleted
,而不仅仅是列,那么事情可能会变得棘手,我强烈建议改用标准的Java命名约定。您可以在此处找到可能的 predicate 列表:https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#appendix.query.method.predicate
d6kp6zgx2#
您可以使用模型类中的
@Column
注解将字段Map到is_deleted
列,并在存储库方法中使用该字段。在你的技能类(模型)中添加类似这样的内容
然后您可以使用字段在存储库中搜索,如下所示: