Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Spring Data JPA Repositories with Java 8 Streams detached object?

I do data processing that I can't or don't want to do on the database level, I use streams:

I need to filter users according to some algorithms and then set the name for the users found to database.

    userRepository
    .findAll()
    .stream()
    .filter(isFourierTransform())
    .forEach(i ->i.setName("Fourier");

Unfortunately, the above code does not save anything to database.

Below the working code

List<User>user=userRepository
.findAll()
.stream()
.filter(isFourierTransform())
.collect(Collectors.toList());

for(User user:u)
{
    user.setName("")
}


userRepository.save(user);

how to make the first example work?

like image 826
Kamil Nękanowicz Avatar asked Oct 11 '25 20:10

Kamil Nękanowicz


1 Answers

userRepository
  .findAll()
  .stream()
  .filter(isFourierTransform())
  .map(i -> { i.setName("Fourier"); return i;}
  .forEach(userRepository::save)
like image 193
Eugene Avatar answered Oct 14 '25 10:10

Eugene