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