我正在使用Spring CrudRepository
进行数据库查询。如何为 boolean 属性创建方法签名(不自己编写SQL select语句)?
以下内容不起作用:
class MyEntity {
private boolean active;
}
interface MyEntityRepository implements CrudRepository<MyEntity, Long> {
List<MyEntity> findActive(); //or also: findNotActive();
}
最佳答案
我会做:
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