我已经开始使用Spring Boot,但我还有一个疑问。
我正在屏幕上显示对数据库的查询的所有字段,但是我只想在下一个查询的基础上显示寄存器:
select * from user where remove = false
我只显示每个类的findAll方法,因为该方法可以正常工作,但是我没有在其中添加子句。
这是我控制器类(UserController.java)的方法:
@GetMapping
public List<User> findAll(){
return userService.findAll();
}
这是我服务类(UserService.java)的方法:
List<User> findAll();
这是我在服务实现类(UserServiceImpl.java)中的方法:
@Override
public List<User> findAll() {
return repository.findAll();
}
这是我对存储库类(UserRepository.java)的方法:
public interface UserRepository extends Repository<User, Integer> {
// @Query("select * from user where remove = false")
List<User> findAll();
}
我试图在UserRepository类中测试下一个注释:
@Query("select * from user where remove = false")
但目前无法正常工作。
解决它的最好方法是什么?谢谢
答案 0 :(得分:1)
尝试在查询中添加http.sys
nativeQuery = true
答案 1 :(得分:1)
使用查询dsl代替本地查询:
List<User> findByRemoveFalse();
它的工作原理与本地查询相同。
答案 2 :(得分:0)
您可以使用repository query methods,例如:
(...args: any[]) => void
我认为我的另一个答案也会有用:https://stackoverflow.com/a/51692712/5380322