我在数据库级别做我不能或不想做的数据处理,我使用流:
我需要根据某些算法过滤用户,然后为找到数据库的用户设置名称。
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);
如何让第一个例子有效?
答案 0 :(得分:3)
userRepository
.findAll()
.stream()
.filter(isFourierTransform())
.map(i -> { i.setName("Fourier"); return i;}
.forEach(userRepository::save)