使用Java 8 Streams分离对象的Spring Data JPA存储库?

时间:2018-02-06 08:16:34

标签: java spring hibernate jpa java-stream

我在数据库级别做我不能或不想做的数据处理,我使用流:

我需要根据某些算法过滤用户,然后为找到数据库的用户设置名称。

    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);

如何让第一个例子有效?

1 个答案:

答案 0 :(得分:3)

userRepository
  .findAll()
  .stream()
  .filter(isFourierTransform())
  .map(i -> { i.setName("Fourier"); return i;}
  .forEach(userRepository::save)