我做我不能或不想在数据库级别上执行的数据处理,我使用流:
我需要根据某些算法过滤用户,然后为数据库中找到的用户设置名称。
userRepository
.findAll()
.stream()
.filter(isFourierTransform())
.forEach(i ->i.setName("Fourier");
不幸的是,以上代码不会将任何内容保存到数据库中。
在工作代码下方
List<User>user=userRepository
.findAll()
.stream()
.filter(isFourierTransform())
.collect(Collectors.toList());
for(User user:u)
{
user.setName("")
}
userRepository.save(user);
如何使第一个示例工作?
userRepository
.findAll()
.stream()
.filter(isFourierTransform())
.map(i -> { i.setName("Fourier"); return i;}
.forEach(userRepository::save)