如何使用Spring CrudRepository查询布尔属性?

时间:2014-05-23 10:58:58

标签: java spring spring-data spring-data-jpa

我正在使用Spring CrudRepository进行数据库查询。如何为布尔属性创建方法签名(不是自己编写SQL select语句)?

以下不起作用:

class MyEntity {
       private boolean active;
}


interface MyEntityRepository implements CrudRepository<MyEntity, Long> {
   List<MyEntity> findActive(); //or also: findNotActive();
}

1 个答案:

答案 0 :(得分:18)

我愿意:

interface MyEntityRepository implements CrudRepository<MyEntity, Long> {
   List<MyEntity> findByActive(Boolean active);
}

然后服务层将是

public class MyEntityServiceImpl implements MyEntityService{


   public List<MyEntity> findActive() {
      return myEntityRepository.findByActive(true);
   }
}

<强>更新

正如@OliverGierke所指出的那样,您可以通过以下方式进一步简化您的存储库:

interface MyEntityRepository implements CrudRepository<MyEntity, Long> {
   List<MyEntity> findByActiveTrue(); //you could also use findByActiveFalse
}

对于所有支持的关键字,您应该看到

部分
  

查询创建

reference documentation