EntityManager 中的实体更新

Entity update in EntityManager

简述一下整个情况。我有一个实体

public class MovieEntity {
... 
    @OneToMany(mappedBy = "movie", cascade = CascadeType.ALL)
    private Set<MovieOtherTitle> otherTitles;
...
}

我使用 JPA 在数据库中保存了一部电影 Spring 数据存储库

this.movieRepository.save(movie);

那我再给片子加个片名

final MovieOtherTitle movieOtherTitle = new MovieOtherTitle(otherTitle.getTitle(), otherTitle.getCountry());
movieOtherTitle.setMovie(movie);
movieOtherTitle.setUser(user);
this.entityManager.persist(element);

当我想显示这部电影的片名列表时,该列表是空白的

movie.getOtherTitles()

重新编译应用程序后,一切正常。为什么?看起来这个实体没有实时刷新列表。我必须重新编译应用程序,然后您才能看到列表中的元素。

this.movieRepository.save(movie);
final MovieOtherTitle movieOtherTitle = new MovieOtherTitle(otherTitle.getTitle(), otherTitle.getCountry());
movieOtherTitle.setMovie(movie);
movieOtherTitle.setUser(user);

movie.getOtherTitles().add(movieOtherTitles);

this.movieReoository.save(movie);

所以在调用之后 movie.getOtherTitles(); 列表不会为空

你可以得到otherTitle的id

movie.getOtherTitles().get(0).getId